redis主从复制

主从复制的配置

两种配置方式: redis

一、slaveof命令异步

举例:spa

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

取消复制:同步

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

这里有两个注意点:ast

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

二、这条命令也能够用来改变其所属的master节点,即从新成为另外一台master的slave,可是新的master首先就会把从节点的数据所有清除掉。(全量复制)配置

二、修改配置文件im

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

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

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

接着咱们启动从节点,并执行下info replication命令,能够看到从节点相关信息

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

接下来,咱们能够看到在主节点上增长的数据,以及同步到了从节点

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

runId和复制偏移量

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

能够用 redis 的 info 命令来查看当前runId:

什么是偏移量? 偏移量是当redis每次写入数据时,偏移量都会增长,这个是只从复制时,用来对比主从同步的状态,若是当master 的偏移量远高于slave的偏移量时,就是master写了不少数据,而slave没有同步,这就证实咱们主从同步有问题。

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

上图能够看到 咱们的主从两个节点的偏移量是相等的,表明数据同步没有问题。

相关文章
相关标签/搜索