IT袋

当前位置:主页 > 经验教程 > 建站编程 >

Redis主从复制原理详解

Redis主从复制原理详解(4)

时间:2023-11-09 15:11:41 来源:IT袋 作者:马勇
导读:Redis主从复制原理详解,master_repl_offset 记录写入的位置偏移量。 而从库在执行同步的写命令后,也会用 slave_repl_offset 记录写入的位置偏移量。正常情况下,从库会和主库的偏移量

Redis主从复制原理详解

master_repl_offset 记录写入的位置偏移量。

而从库在执行同步的写命令后,也会用 slave_repl_offset 记录写入的位置偏移量。正常情况下,从库会和主库的偏移量保持一致。

但是,当网络断开后,主库继续写入,而从库没有收到新的同步命令,所以偏移量就停止了。所以,master_repl_offset 会大于 slave_repl_offset

注意:主从库实现增量复制时,都是在 repl_backlog_buffer 缓冲区上进行。

网络断开前后,主从库的同步图如下:

Redis主从复制原理详解

repl_backlog_buffer 复制积压缓冲区是一个环形缓冲区,如果缓冲区慢了(比如超过 1024),则会从头覆盖掉前面的内容。

所以,当网络恢复以后,主节点只需将 master_repl_offsetslave_repl_offset 之间的内容同步给从库即可(图中 256~512 这部分数据)。

需要注意的是,主库的积压缓冲区默认为 1M,如果从库网络断开太久,缓冲区之前的内容已经被覆盖,这时主从的数据复制就只能采取全量同步了。

所以我们需要根据业务量和实际情况来设置 repl_backlog_buffer 的值。

4. 小结

面让架构易于扩展,另一方面防止单体故障:当主库挂了,可以立即拉起从库,不至于让业务停滞太久。

而首次主从复制包括建立连接,RDB 同步和命令同步三个阶段。

为了保证同步的效率,除了第一次需要全量同步以外,例如当主从节点断连后,则只需要增量同步,这是由主从库的复制偏移量以及主库的 repl_backlog_buffer 复制积压缓冲区来控制的。

好了,以上就是本文的所有内容了,希望今天的文章能让大家更深入地了解 Redis 主从复制,并在面试或者实际工作中学以致用,探索更多的细节。

以上就是IT袋网带来的Redis主从复制原理详解的详细讲解,IT袋网小编希望本文能给你带来生活上的帮助!

相关阅读

  • 深入理解网络服务:LAMP架构详解

    深入理解网络服务:LAMP架构详解

    小编带来的是深入理解网络服务方面的讲解,很不错的方法小知识,建议收藏哦! LAMP架构是现代网络服务中广泛使用的一种技术架构,包括Linux操作系统、Apache Web服务器、MySQL数据库以及PHP编

  • 网站域名怎么申请注册 服务器域名注册的流程

    网站域名怎么申请注册 服务器域名注册的流程

    一篇很详细的教程是关于网站域名怎么申请注册和服务器域名注册的流程IT技巧方面的经验,具体内容如下: .com域名 是商业使用最广域名,.com域名从开始到现在一直是全球使用最为多的顶级

  • Warehouse:管理Flatpak应用的强大工具

    Warehouse:管理Flatpak应用的强大工具

    跟大家说一说Warehouse的相关知识,很不错的方法小知识,建议收藏哦! 有一个应用,可以为你提供有关 Flatpak 应用的所有重要信息,以及管理它的工具,这不是很好吗? 这一次你很幸运! 在

  • UDP是什么协议? UDP的主要特点和功能

    UDP是什么协议? UDP的主要特点和功能

    为网友们详解UDP是什么协议的相关经验,接下来IT袋网带大家一起了解。 UDP(用户数据报协议,User Datagram Protocol)是一种传输层协议,用于在网络中的两个节点(例如计算机、服务器等)之间