import org.junit.Test;
import redis.clients.jedis.*;
import redis.clients.jedis.exceptions.JedisConnectionException;
import java.util.HashSet;
import java.util.Set;
public class JedisSentinelPoolTest {
@Test
public void test() {
Set<String> sentinels = new HashSet<>();
sentinels.add("localhost:20000");
sentinels.add("localhost:20001");
sentinels.add("localhost:20002");
JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels);
Jedis jedis = pool.getResource();
jedis.set("foo2", "bar2");
String value = jedis.get("foo2");
System.out.println(value);
pool.returnResource(jedis);
for (int i = 0; i < 100; i++) {
try {
System.out.println("Try to get resource...");
jedis = pool.getResource();
System.out.println("Got resource!");
jedis.set("foo" + i, "bar" + i);
value = jedis.get("foo" + i);
System.out.println(value);
} catch (JedisConnectionException e) {
System.out.println(e);
} finally {
try {
pool.returnResource(jedis);
} catch (JedisConnectionException e) {
System.out.println(e);
}
}
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for (int i = 0; i < 100; i++) {
jedis = pool.getResource();
value = jedis.get("foo" + i);
System.out.println(value);
pool.returnResource(jedis);
}
pool.destroy();
}
}