一、什么事全量复制与部分复制?
全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次性发送给从节点,当数据量较大时,会对主从节点和网络造成很大的开销.
部分复制:用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果条件允许,主节点会补发丢失数据给从节点。因为补发的数据远远小于全量数据,可以有效避免全量复制的过高开销。
部分复制是对老版复制的重大优化,有效避免了不必要的全量复制操作。
二、全量复制的逻辑
redis服务节点启动时,会产生一个run_id标识(服务重启时run_id会发生变化)。slave节点会记住master节点的run_id,在复制主节点的过程中发现master节点的run_id发生,将会进行全量复制。
认识run_id
info server#
三、部分复制的逻辑
部分复制即复制偏移量。
通过对比主从节点的复制偏移量,可以判断主从节点数据是否一致。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。