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

Posted

tags:

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

参考技术A

因为全量复制的数据量过大,会造成很大的网络开销,所以Redis只有在必要的情况下才做全量复制,比如初次复制和其他无法部分复制

用于初次复制或其它无法进行部分复制的情况,将主节点中的所有数据都发送给从节点。 当数据量过大的时候,会造成很大的网络开销

用于处理在主从复制中 因网络闪退等原因造成数据丢失场景 ,当从节点再次连上主节点,如果条件允许,主节点会补发丢失数据给从节点,因为 补发的数据远远小于全量数据 ,可以有效避免全量复制的过高开销。但需要注意,如果网络中断时间过长,造成主节点没有能够完整地保存中断期间执行的写命令,则无法进行部分复制,仍使用全量复制。

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

一、什么事全量复制与部分复制?

全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次性发送给从节点,当数据量较大时,会对主从节点和网络造成很大的开销.

部分复制:用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果条件允许,主节点会补发丢失数据给从节点。因为补发的数据远远小于全量数据,可以有效避免全量复制的过高开销。

部分复制是对老版复制的重大优化,有效避免了不必要的全量复制操作。

二、全量复制的逻辑

redis服务节点启动时,会产生一个run_id标识(服务重启时run_id会发生变化)。slave节点会记住master节点的run_id,在复制主节点的过程中发现master节点的run_id发生,将会进行全量复制。

认识run_id

info server#

三、部分复制的逻辑
部分复制即复制偏移量。
通过对比主从节点的复制偏移量,可以判断主从节点数据是否一致。

以上是关于Redis主从之全量复制和增量复制的主要内容,如果未能解决你的问题,请参考以下文章

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

Redis主从架构之全量同步原理与增量同步原理

深入剖析redis主从同步机制

Redis主从复制原理总结

Redis的主从复制的原理介绍

Rdeis 11Redis主从复制原理总结