redis(2)双机备份
一、准备
主从 | IP:端口 |
---|---|
主Redis | 192.168.100.6:6380 |
从Redis | 192.168.100.6:6381 |
二、主从复制
修改从Redis的配置文件
1 | vi redis.conf |
在从Redis的配置文件中添加主Redis的ip和端口号
1 | # slaveof <masterip> <masterport> |
三、测试主从
先启动主Redis,再启动从Redis。其中,从Redis的启动界面会显示连接到主Redis,并开始同步。
!!!主Redis可以读写数据,从Redis只能读取数据,不可写入数据
四、哨兵模式
开启Redis哨兵模式,可实现当主Redis宕机后,从Redis自动转换为主Redis,保证Redis系统正常运行。
在redis目录中修改哨兵配置文件
1 | vi sentinel.conf |
修改配置文件
1 | protected-mode no |
启动哨兵
1 | ./src/redis-server ./sentinel.conf --sentinel |
控制台打印 +slave slave 192.168.100.6:6381 192.168.100.6 6381 @ mymaster 192.168.100.6 6380
即192.168.100.6 6381为从Redis,192.168.100.6 6380为主Redis
五、测试哨兵
关闭主Redis,5秒后,哨兵控制台打印以下代码
1 | 65506:X 05 Jul 15:44:34.462 # +switch-master mymaster 192.168.100.6 6380 192.168.100.6 6381 |
即将原来的从Redis192.168.100.6 6381 转换为主Redis,原来的主Redis192.168.100.6 6381转换为从Redis
六、Java通过哨兵访问redis
1 | Set<String> sentinels = new HashSet<String>(); |