跳转至

Redis 主从复制原理

一、作用

  • 读性能提升。
  • 数据备份。
  • 高可用。

二、过程

1. 全量同步

第一次连接:

  1. 从节点发 PSYNC。
  2. 主节点 BGSAVE 生成 RDB。
  3. 发 RDB 给从节点。
  4. 发期间的写命令缓冲。

2. 增量同步

之后主节点写命令,实时发给从节点。

三、PSYNC

  • runid:主节点 ID。
  • offset:复制偏移量。

断线重连: - offset 还在复制缓冲:增量同步。 - 不在:全量同步。

四、为什么主从异步

主节点写完就返回,不阻塞。 从节点异步复制。 可能丢数据。

五、哨兵

监控主从,主挂了自动提升从。

六、注意

  • 主从延迟:读写分离时读从可能读到旧数据。
  • 复制缓冲大小要够。

一句话

全量 + 增量,异步复制,主从可能延迟。