use of io.lettuce.core.cluster.RedisClusterClient in project jetcache by alibaba.
the class RedisLettuceCacheTest method testCluster2.
@Test
public void testCluster2() throws Exception {
if (!checkOS()) {
return;
}
RedisURI node1 = RedisURI.create("127.0.0.1", 7000);
RedisURI node2 = RedisURI.create("127.0.0.1", 7001);
RedisURI node3 = RedisURI.create("127.0.0.1", 7002);
RedisClusterClient client = RedisClusterClient.create(Arrays.asList(node1, node2, node3));
StatefulRedisClusterConnection con = client.connect(new JetCacheCodec());
con.setReadFrom(ReadFrom.SLAVE_PREFERRED);
cache = RedisLettuceCacheBuilder.createRedisLettuceCacheBuilder().redisClient(client).connection(con).keyPrefix(new Random().nextInt() + "").buildCache();
cache.put("K1", "V1");
Thread.sleep(100);
Assert.assertEquals("V1", cache.get("K1"));
}
use of io.lettuce.core.cluster.RedisClusterClient in project jetcache by alibaba.
the class RedisLettuceStarterTest method tests.
@Test
public void tests() throws Exception {
if (RedisLettuceCacheTest.checkOS()) {
System.setProperty("spring.profiles.active", "redislettuce-cluster");
} else {
System.setProperty("spring.profiles.active", "redislettuce");
}
context = SpringApplication.run(RedisLettuceStarterTest.class);
doTest();
A bean = context.getBean(A.class);
bean.test();
RedisClient t1 = (RedisClient) context.getBean("defaultClient");
RedisClient t2 = (RedisClient) context.getBean("a1Client");
Assert.assertNotNull(t1);
Assert.assertNotNull(t2);
Assert.assertNotSame(t1, t2);
AutoConfigureBeans acb = context.getBean(AutoConfigureBeans.class);
String key = "remote.A1";
Assert.assertTrue(new LettuceFactory(acb, key, StatefulRedisConnection.class).getObject() instanceof StatefulRedisConnection);
Assert.assertTrue(new LettuceFactory(acb, key, RedisCommands.class).getObject() instanceof RedisCommands);
Assert.assertTrue(new LettuceFactory(acb, key, RedisAsyncCommands.class).getObject() instanceof RedisAsyncCommands);
Assert.assertTrue(new LettuceFactory(acb, key, RedisReactiveCommands.class).getObject() instanceof RedisReactiveCommands);
if (RedisLettuceCacheTest.checkOS()) {
key = "remote.A2";
Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterClient.class).getObject() instanceof RedisClusterClient);
Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterCommands.class).getObject() instanceof RedisClusterCommands);
Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterAsyncCommands.class).getObject() instanceof RedisClusterAsyncCommands);
Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterReactiveCommands.class).getObject() instanceof RedisClusterReactiveCommands);
key = "remote.A2_slave";
Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterClient.class).getObject() instanceof RedisClusterClient);
}
}
use of io.lettuce.core.cluster.RedisClusterClient in project curiostack by curioswitch.
the class RedisModule method redisClusterClient.
@Provides
@Singleton
static RedisClusterClient redisClusterClient(RedisConfig config, MeterRegistry registry, Tracing tracing) {
RedisClusterClient client = RedisClusterClient.create(DefaultClientResources.builder().eventExecutorGroup(CommonPools.workerGroup()).eventLoopGroupProvider(ArmeriaEventLoopGroupProvider.INSTANCE).commandLatencyCollector(new MicrometerCommandLatencyCollector(DEFAULT_METER_ID_PREFIX, registry)).tracing(BraveTracing.create(tracing)).build(), config.getUrl());
client.setOptions(ClusterClientOptions.builder().validateClusterNodeMembership(false).build());
return client;
}
use of io.lettuce.core.cluster.RedisClusterClient in project curiostack by curioswitch.
the class RedisModule method redisClient.
@Provides
@Singleton
static RedisClusterClient redisClient(RedisConfig config, MeterRegistry registry) {
RedisClusterClient client = RedisClusterClient.create(DefaultClientResources.builder().eventExecutorGroup(CommonPools.workerGroup()).eventLoopGroupProvider(ArmeriaEventLoopGroupProvider.INSTANCE).commandLatencyCollector(new MicrometerCommandLatencyCollector(DEFAULT_METER_ID_PREFIX, registry)).build(), config.getUrl());
client.setOptions(ClusterClientOptions.builder().validateClusterNodeMembership(false).build());
return client;
}
use of io.lettuce.core.cluster.RedisClusterClient in project jetcache by alibaba.
the class LettuceConnectionManagerTest method testCluster.
@Test
public void testCluster() {
if (!RedisLettuceCacheTest.checkOS()) {
return;
}
RedisURI node1 = RedisURI.create("127.0.0.1", 7000);
RedisURI node2 = RedisURI.create("127.0.0.1", 7001);
RedisURI node3 = RedisURI.create("127.0.0.1", 7002);
RedisClusterClient client = RedisClusterClient.create(Arrays.asList(node1, node2, node3));
LettuceConnectionManager m = LettuceConnectionManager.defaultManager();
m.init(client, null);
Assert.assertSame(m.commands(client), m.commands(client));
Assert.assertSame(m.asyncCommands(client), m.asyncCommands(client));
Assert.assertSame(m.reactiveCommands(client), m.reactiveCommands(client));
m.removeAndClose(client);
}
Aggregations