因为要将集群改成哨兵,所以经历了这个问题。
总结一下,首先在redis的官网,我们发现了
sentinel.conf是可以设置密码的,这里有一句话是说,确保你的Auth命令发送到sentinel实例。
也就是要求你的redis版本至少5.0以上。否则会报错err unknow command auth;
然后看了下阿里的官网:有下面这些要求,都满足就可以了。
这是测试代码:
public static void main(String[] args) {
Set<String> sentinelSet = new HashSet<>();
sentinelSet.add("192.168.1.198:xxxx");
//2.设置jedispool 连接池配置文件
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(10);
config.setMaxWaitMillis(1000);
//3.设置mastername,sentinelNode集合,Redis登录密码,sentinel密码
JedisSentinelPool jedisSentinelPool = new JedisSentinelPool("master", sentinelSet, "Redis登录密码", "sentinel密码");
Jedis jedis = null;
try {
jedis = jedisSentinelPool.getResource();
//获取Redis中key=hello的值
String value = jedis.get("hello");
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(jedis != null){
jedis.close();
}
}
}