Redis集群同步数据
Redis 主从同步通过复制机制实现数据同步
1. 建立连接
- 从节点启动后,向主节点发送
SYNC
或PSYNC
命令,请求同步数据。
2. 全量同步(Full Synchronization)
- 主节点收到
SYNC
命令后,执行BGSAVE
生成 RDB 快照。 - 快照生成后,主节点将其发送给从节点。
- 从节点接收并加载 RDB 文件,完成全量数据同步。
3. 增量同步(Partial Synchronization)
- 从 Redis 2.8 开始,支持
PSYNC
命令,允许增量同步。 - 如果从节点之前已同步过,主节点只需发送自上次同步以来的写命令,减少数据传输量。
4. 命令传播
- 全量或增量同步完成后,主节点将新的写命令实时发送给从节点,保持数据一致。
5. 断线重连
- 从节点断线重连后,根据情况选择全量或增量同步:
- 若主节点有完整的复制积压缓冲区,执行增量同步。
- 否则,执行全量同步。