Java开发 - 让你少走弯路的Redis主从实现单节点哨兵模式
warning:
这篇文章距离上次修改已过210天,其中的内容可能已经有所变动。
import redis.clients.jedis.JedisSentinelPool;
public class RedisSentinelExample {
public static void main(String[] args) {
String masterName = "mymaster"; // Redis主服务器名称
Set<String> sentinels = new HashSet<String>(); // 哨兵服务器集合
sentinels.add("sentinel1-host:26379");
sentinels.add("sentinel2-host:26379");
sentinels.add("sentinel3-host:26379");
JedisSentinelPool sentinelPool = new JedisSentinelPool(masterName, sentinels);
try (Jedis jedis = sentinelPool.getResource()) {
// 使用jedis连接到Redis哨兵,进行操作
jedis.set("key", "value");
System.out.println(jedis.get("key"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
这段代码使用了Jedis客户端库中的JedisSentinelPool
来创建一个Redis哨兵连接池。通过哨兵池获取的Jedis实例可以用来执行Redis命令,无需手动维护主节点的IP和端口。当主节点发生变更时,哨兵模式会自动将从节点晋升为主节点,并通知客户端新的主节点地址。
评论已关闭