Redis 主从复制原理¶
一、作用¶
- 读性能提升。
- 数据备份。
- 高可用。
二、过程¶
1. 全量同步¶
第一次连接:
- 从节点发 PSYNC。
- 主节点 BGSAVE 生成 RDB。
- 发 RDB 给从节点。
- 发期间的写命令缓冲。
2. 增量同步¶
之后主节点写命令,实时发给从节点。
三、PSYNC¶
- runid:主节点 ID。
- offset:复制偏移量。
断线重连: - offset 还在复制缓冲:增量同步。 - 不在:全量同步。
四、为什么主从异步¶
主节点写完就返回,不阻塞。 从节点异步复制。 可能丢数据。
五、哨兵¶
监控主从,主挂了自动提升从。
六、注意¶
- 主从延迟:读写分离时读从可能读到旧数据。
- 复制缓冲大小要够。
一句话
全量 + 增量,异步复制,主从可能延迟。