redis之主从同步简单设置

 

一、配置多个redis-conf

首先编辑多个redis-conf文件,将端口、守护进程、rdb、log、aof所有设置为本身的内容,方便观察不一样的端口不一样的区份内容redis

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

二、配从不配主

主从复制,只须要配置从机便可,主机能够不配置;服务器

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

info replication

图中标的三台redis所有式master,即主机,而且没有任何的从机spa

2.二、设置从机

分别在80 81的操做端,进行设置本身的主机(如今是本地的不一样端口)code

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

设置完毕以后,从新查看主从标识进程

如今就能够主从复制啦:ip

2.三、若是三个机器同时操做一个key,结果会怎样?

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

三、若是master/slave挂掉了

两个slave(80 81)会怎样?io

3.一、master挂了,猜想:

3.1.一、从新选老大(当前配置,错误) 二、保持不动(当前配置,正确)

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

3.1.二、老大又回来啦(幸好没人上位,否则感受要遭殃呀)

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

猜想:一、主从保持原样(当前配置,正确) 二、很差意思,不认你作老大

本身尝试吧;

3.二、从机挂了

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

 

3.三、若是主机挂掉了,人工能够手动从新设置原来的从机,成为新的主机

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

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

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

四、哨兵模式

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)为主机

相关文章
相关标签/搜索