redis的主从复制以及哨兵模式
主从复制
启动三个客户端,端口分别为6379,6380,6381
info replication : 显示当前客户端的信息(是主机还是从机),下图是主机6379的部分信息截图
如果需要将6380和6381的客户端设置为从机,则需要在每个端输入命令: slaveof 主机ip 主机端口,也可以在redis.conf文件中进行配置
从机会自动copy主机的全部数据
从机也可以作为另一台从机的主机,只需要在另一台从机上如上命令配置主机即可
使当前数据库停止与其他数据库的同步,转成主数据库:slaveof no one
哨兵模式:当主机出现故障时,会从从机中自动选举一台机器作为主机。而原主机恢复正常后,则会自动转成从机。
首先在redis.conf同级文件夹下创建一个sentinel.conf文件,名字不能出错。文件内容为:monitor 被监控数据库名字(自定义) 被监控数据库的ip 端口号 票数
注意,一个sentinel.conf文件可以监控多个master,每多监控一台则需要多一行命令:monitor 被监控数据库名字(自定义) 被监控数据库的ip 端口号 票数
其中,票数是指当剩下的从机中获得票数超过这个值时,该从机自动转成主机
最后,启动哨兵 redis-sentinel sentinel.conf(配置文件的地址不同可根据实际情况来定)