【推荐】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)为主机
来源:oschina
链接:https://my.oschina.net/u/3027745/blog/1614093