Redis主从复制
redis可以通过slaveof host port
的方式将其变成从机,而你设置的host
就是主机,这样就可以实现数据的同步,而主机只负责去写数据,而从机只负责去读数据。通过这个命令去实现的从机,如果从机宕机了,那么它自己就会变成主机。解决这个问题的办法就是在redis.conf
中将其配置死。
需要准备三台服务器,我这里由于硬件限制,就在一个服务器上开三个端口(6379、6380、6381),来模拟三台服务器。
首先通过三个配置文件启动redis
然后查看进程号确保启动成功
之后设置从机,让端口为6379的为主机、其它两个当做从机
查看两个从机的信息
测试
哨兵模式
其实就是再开一条进程对redis集群,进行监控,如果主节点宕机了,那么它会从现有的主机中选取出一个当做主机。当以前的主机在此连接回来,会被当做从机。
首先要编写哨兵的配置文件sentinel.conf
# sentinel monitor 名字(随便起) host port 1
sentinel monitor mysentinel 127.0.0.1 6379 1
1:表示,当前主机的票数,如果宕机了,将会在从新选取
启动哨兵进行监控
模拟主机宕机(哨兵使用自带的算法,进行选举出新的主机)
当原先的主机连接回来后,变成现在主机的从机