1、配置redis master,redis slave(配置具体操作见上文http://www.cnblogs.com/wangchaozhi/p/5140469.html)。
redis master ip:127.0.0.1:port 6379(默认配置文件即可)
redis slave1 ip:127.0.0.1:port 6380(修改端口号为6380,并配置为master的slave,# slaveof <masterip> <masterport>,去掉#,更改为slaveof 127.0.0.1 6379)
redis slave1 ip:127.0.0.1:port 6381(修改端口号为6381,并配置为master的slave,# slaveof <masterip> <masterport>,去掉#,更改为slaveof 127.0.0.1 6379)
2、配置sentinel(也可以配置为集群,这里配置一个作为演示)。
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
3、运行master,slave1、slave2,以及sentinel。
启动redis服务的命令redis-server.exe redis.windows.conf
启动sentinel命令redis-server.exe sentinel.conf --sentinel
4、模拟主机宕机
输入如下命令
redis-cli -h 127.0.0.1 -p 6379 shutdown
此时观察sentinel服务。
可以知道6381端口的slave被提升为master。测试是否可以写入数据
再次启动master的服务6379端口。
观察master和sentinel服务提示
由上图标示的红线可以知道,原来的master(6379)成为6381的slave。
到此,主从自动切换配置测试完成。