環境搭建
我是在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