redis主从复制

主从复制的配置

两种配置方式: 

1、slaveof命令

举例:

153243_Z1Nz_3371837.png

这条命令是:让6382这个节点从本机6379这个节点进行复制,(即6379为master,6382为slave) 返回结果OK ,这里返回结果是异步的,也就是说执行完命令会立刻返回,实际上后台还有很多的操作。

取消复制:

153728_Zs3u_3371837.png

这条命令代表6382不再成为任何节点的从节点

这里有两个注意点:

1、之前从master复制过来的数据并不会丢失,只是不再同步之前master(如上图的6379节点)后续写入的数据

2、这条命令也可以用来改变其所属的master节点,即重新成为另一台master的slave,但是新的master首先就会把从节点的数据全部清除掉。(全量复制)

2、修改配置文件

slaveof ip port --- 成为某个主节点的从节点,这里ip和port是所指向的master节点

slave-read-only  yes --- 当前从节点只做读的操作,不允许写

下面是我在同一机器上的一个演示:在master节点(6379)上执行 info replication命令可以看到这个节点的相关信息

160342_aCuk_3371837.png

接着我们启动从节点,并执行下info replication命令,可以看到从节点相关信息

160651_nvbF_3371837.png

161037_pmnG_3371837.png

主节点再执行info replication命令,可以看到当前master的从节点个数以及从节点信息

160844_y4Y5_3371837.png

接下来,我们可以看到在主节点上增加的数据,以及同步到了从节点

161308_qO0E_3371837.png

接着我们尝试在从节点上写入数据,会得到一个错误,不能在从节点上进行写操作

162012_D6Ab_3371837.png

runId和复制偏移量

什么是runId?runId是redis在每次启动的时候,都会有一个随机的ID,来唯一标识这个节点,当redis关闭runId消失,重启又会产生一个新的runId

可以用 redis 的 info 命令来查看当前runId:

163157_kfR1_3371837.png

什么是偏移量? 偏移量是当redis每次写入数据时,偏移量都会增加,这个是只从复制时,用来对比主从同步的状态,如果当master 的偏移量远高于slave的偏移量时,就是master写了很多数据,而slave没有同步,这就证明我们主从同步有问题。

可以用info replication查看当前master节点和slave节点的偏移量

164201_nyDT_3371837.png

上图可以看到 我们的主从两个节点的偏移量是相等的,代表数据同步没有问题。

转载于:https://my.oschina.net/u/3371837/blog/1787601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值