环境搭建
我是在win10下搭建的,1主2从,2个哨兵
master中增加或修改的配置
bind 192.168.2.101
port 6000
requirepass 123456
slave1中增加或修改的配置
bind 192.168.2.101
port 6001
slaveof 192.168.2.101 6000
masterauth 123456
requirepass 123456
slave2中增加或修改的配置
bind 192.168.2.101
port 6002
slaveof 192.168.2.101 6000
masterauth 123456
requirepass 123456
启动命令 redis-server.exe redis.windows.conf
sentinel1中增加或修改的配置
bind 192.168.2.101
port 26379
sentinel monitor mymaster
192.168.2.101 6000 2
sentinel auth-pass mymaster 123456
sentinel2中增加或修改的配置
bind 192.168.2.101
port 26479
sentinel monitor mymaster
192.168.2.101 6000 2
sentinel auth-pass mymaster 123456
启动命令redis-server.exe redis.windows.conf --sentinel
文件目录结构

编写工具类以及测试
哨兵模式下pool会一直获取master节点的连接,如果master挂了,则由哨兵推出新的节点并连接到新的master节点上
运行结果
完整的代码
https://github.com/cdy1996/common-util/blob/master/src/main/java/com/cdy/common/util/middleware/redis/JedisSentinelUtil.java
当然我这次只是完成的简单的主从模式(哨兵),如果遇到数据量更加大时,单独的主服务器无法承受时,需要建立redis集群,
而redis的集群有很多,如Redis Sharding(主要是通过一致性hash实现数据分片存储)、中间件实现的Redis集群(Twemproxy、Codis)、Redis集群的官方方案:Redis Cluster。
具体见https://blog.csdn.net/kingcat666/article/details/78552511