redis全量复制和部分复制简介

Posted 带鱼兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis全量复制和部分复制简介相关的知识,希望对你有一定的参考价值。


基本概念:

全量复制和部分复制都是围绕着redis主从复制展开讨论,这里不讨论概念性的理论,只讨论大家比较关心的几个点。

有兴趣深入研究的同学,可以参考

a) 官网http://redis.io/topics/replication

b) 浅析redis复制


1. redis什么时候会发生全量复制?

a) redis slave首启动或者重启后,连接到master时

b) redis slave进程没重启,但是掉线了,重连后不满足部分复制条件


2. redis什么时候会发生部分复制?

先来看部分复制需要的条件

a) 主从的redis版本>=2.8

b) redis slave进程没有重启,但是掉线了,重连了master(因为slave进程重启的话,run id就没有了)

c) redis slave保存的run id与master当前run id一致 (注:run id并不是pid,slave把它保存在内存中,重启就消失)

d) redis slave掉线期间,master保存在内存的offset可用,也就是master变化不大,被更改的指令都保存在内存


3. redis进程重启后会发生全量复制还是部分复制?

a) master重启时,run id会发生变化

b) slave重启时,run id会丢失

答:很显然,会发生全量复制,因为部分复制的条件之一run id已经不能满足


4.当全量复制或者同步复制完毕,增量是如何更新到slave的?

答:通过流式的命令更新,此时master就是slave的client,这样去理解。


5. run id如何查看?

答:通过info server命令查看


End;




以上是关于redis全量复制和部分复制简介的主要内容,如果未能解决你的问题,请参考以下文章

redis主从复制之全量复制与部分复制

死磕 Redis----- 主从复制:全量复制和部分复制

死磕 Redis----- 主从复制:全量复制和部分复制

Redis主从之全量复制和增量复制

Redis主从复制原理总结

Redis的主从复制的原理介绍