Redis是大型架构核心,下面我详解Redis主从复制@mikechen
Redis主从复制
Redis 主从复制 ,是 Redis 提供的一种读写分离、和高可用性解决方案。
主节点 (Master): 负责处理所有写操作,并将数据变更同步给从节点。
从节点 (Replica/Slave): 负责接收主节点同步的数据,主要处理读操作。
如下图所示:

Redis主从复制原理
Redis主从之间的复制分为两部分:全量复制和增量复制。
1.Redis全量复制过程
触发场景:
从节点第一次连接主节点;
特点: 同步全部数据,耗时长、带宽大,但保证数据完全一致。

流程:
从节点发送 PSYNC ? -1 请求;
主节点执行 BGSAVE 生成 RDB 快照;
主节点将 RDB 文件发送给从节点;
从节点清空旧数据并加载 RDB;
主节点发送缓冲区内的写命令,从节点执行;
全量同步完成,转入增量复制阶段。
2.Redis增量复制过程
触发场景:
主从短暂断开后重新连接;
特点: 只同步断线期间的增量命令,速度快、开销小。

流程:
从节点发送 PSYNC <runid> <offset>;
主节点检查 backlog 缓冲区:
有对应偏移量 → 增量复制;
没有 → 回退全量复制;
主节点发送断线期间的命令流,从节点执行追平。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》