redis的部分重新同步是什么意思?

bao*_*ove 1 redis

从Redis 2.8开始,redis添加了一个名为“部分重新同步”的功能。我阅读了这个官方文档,但我不明白。谁能帮助我?

Did*_*zia 5

它是关于主从复制的。

Redis 从站(命令或配置的从站)的正常行为是连接到主站,要求主站积累主从流量,向主站请求文件系统上的完整转储,在从站上下载此转储,加载dump,最后播放累积的流量,直到slave赶上master。

这种机制非常健壮,但对于覆盖从站和主站之间的瞬时连接中断来说不是很有效。如果主从链接关闭几秒钟,从服务器将请求完全重新同步(包括转储等),即使只丢失了几个命令。

从 2.8 开始,Redis 包含了部分复制机制,因此从站可以重新连接到主站,并且如果满足某些条件(例如瞬时连接断开),则要求主站重新同步,而不必转储整个内存实例。

为了支持这个特性,master 必须缓冲并保留一个 backlog 的命令,这样它们就可以在需要时随时提供给 slaves。如果从站落后于主站,则积压可能不再包含所需的数据。在这种情况下,正常的完全同步就完成了,就像在以前的版本中一样。