一,使用的java + redis的集群(主从复制+哨兵模式)时,redis的的配置注意事项。
1,redis.conf配置文件
①关闭保护模式
protected-mode no
在高版本的Redis的中才有这个配置,本文用的是redis4.0.10
②设置为守护线程
③bind配置注释掉
2,sentinel.conf
①关闭保护模式
protected-mode no
②当你是连接远程服务器或者虚拟机上的redis的时:
sentinel monitor mymaster 192.168.142.129 6379 2
红色字体一定要是服务器或者虚拟机的IP地址,不能是127.0.0.1。(本人就犯了这个错误,浪费了一天的时间)
3,JAVA代码层面
java的层面使用JedisSentinelPool
@Bean
public JedisSentinelPool jedisSentinelPool(){
Set<String> sentinels = new HashSet<String>();
sentinels.add("192.168.142.129:26379");
JedisPoolConfig config = new JedisPoolConfig();
JedisSentinelPool jedisPool = new JedisSentinelPool("mymaster",sentinels,config);
return jedisPool;
}
JedisSentinelPool jedisPool =new JedisSentinelPool(“mymaster”,哨兵,配置);
三个参数:
①masterName,这里与sentinel.conf文件中的:”sentinel monitor mymaster 192.168.142.129 6379 2 ” mymaster 对应。
②一个设置集合存放了主机和端口信息
③JedisPoolConfig的配置类
二,总结
基本上把上述的配置做好,就不会出问题了!
欢迎交流!