public static void main(String[] args) throws Exception {
RedisURI uri = RedisURI.create("redis-sentinel://IP1,IP2,IP3?sentinelMasterId=mymaster&timeout=60s");
RedisClient redisClient = RedisClient.create();
StatefulRedisMasterSlaveConnection<String, String> connection = MasterSlave.connect(redisClient, new Utf8StringCodec(), uri);
connection.setReadFrom(ReadFrom.MASTER_PREFERRED);
int j = 0;
while(true){
System.out.println("===== " + j++ + " th iteration ======" );
for(int i = 0 ; i < 4 ; i++) {
System.out.println(new Date() + " : " + i + " = " + connection.sync().get(String.valueOf(i)));
connection.sync().set(String.valueOf(i), "Value" + String.valueOf(i));
}
Thread.sleep(10000);
}
}
It gives the error
Exception in thread "main" com.lambdaworks.redis.RedisConnectionException: Unable to connect to /IP3:26379
at com.lambdaworks.redis.AbstractRedisClient.initializeChannel(AbstractRedisClient.java:248)
at com.lambdaworks.redis.RedisClient.connectStateful(RedisClient.java:449)
at com.lambdaworks.redis.RedisClient.connectPubSub(RedisClient.java:515)
at com.lambdaworks.redis.masterslave.SentinelTopologyRefresh.lambda$bind$432(SentinelTopologyRefresh.java:61)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at com.lambdaworks.redis.masterslave.SentinelTopologyRefresh.bind(SentinelTopologyRefresh.java:59)
at com.lambdaworks.redis.masterslave.MasterSlave.connectSentinel(MasterSlave.java:171)
at com.lambdaworks.redis.masterslave.MasterSlave.connect(MasterSlave.java:100)
at redisloadtest.SentinelMain.main(SentinelMain.java:121)