redis之主从同步简单设置

梦想的初衷 提交于 2019-12-12 14:04:21

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

 

1、配置多个redis-conf

首先编辑多个redis-conf文件,将端口、守护进程、rdb、log、aof全部设置为自己的内容,方便观察不同的端口不同的区分内容

这里我配置啦三个端口的redis,分别是:6379 6380 6381,模拟三台redis服务器

2、配从不配主

主从复制,只需要配置从机即可,主机可以不配置;

2.1、查看当前三个redis的状态与主从标识

info replication

图中标的三台redis全部式master,即主机,并且没有任何的从机

2.2、设置从机

分别在80 81的操作端,进行设置自己的主机(现在是本地的不同端口)

127.0.0.1:6380> slaveof 127.0.0.1 6379
127.0.0.1:6381> slaveof 127.0.0.1 6379

设置完毕之后,重新查看主从标识

现在就可以主从复制啦:

2.3、如果三个机器同时操作一个key,结果会怎样?

其实吧,从机是不能写内容,只能读

3、如果master/slave挂掉了

两个slave(80 81)会怎样?

3.1、master挂了,猜测:

3.1.1、重新选老大(当前配置,错误) 2、保持不动(当前配置,正确)

其实是保持不动,老大走了,临走之前啥都没说,谁也不敢上位呀;

3.1.2、老大又回来啦(幸亏没人上位,不然感觉要遭殃呀)

79回来啦,主从状态又如何?

猜测:1、主从保持原样(当前配置,正确) 2、不好意思,不认你做老大

自己尝试吧;

3.2、从机挂了

任何从机挂了,当前的配置方式,挂掉的从机直接还原到原始模式即master模式,与上次的主机没有任何的联系;

 

3.3、如果主机挂掉了,人工可以手动重新设置原来的从机,成为新的主机

将80重置为主机模式,81不动(还是从机slave模式),

然后重新设置81的主机是80,结果就不截图啦

要是生产环境master在凌晨挂了,我TM还要起来手动设置??????

4、哨兵模式

master容易挂掉,我就搞一个站岗的,redis提供一个哨兵服务,

当master挂掉之后,哨兵组织当前主机的所有从机进行“投票”,票多者晋升为老大。

查看当前的主从机状态:

创建sentinel.conf文件,

cd /usr/myredis
touch sentinel.conf
vim sentinel.conf

在sentinel.conf中:

sentinel monitor host3679 127.0.0.1 6379 1
//监控的机器名称(随意) ip port 投票为1,则成为主机(具体投票规则,我不知道,但是sentinel自己完成)

最终我的单独配置文件含有:

进入redis启动文件所在目录:

cd /usr/local/bin

执行;哨兵就会监控下面的主机与端口

注意不要将上面的窗口关闭。

此时,我们将主机(6379)shutdown

切换到哨兵的窗口(shutdown之后需要等待一分钟左右哨兵才能完成投票与切换主机):

会发现哨兵自己投票,自己切换从机(81)为主机

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!