Redis是大型架构核心,下面我详解Redis主从复制@mikechen
Redis主从
Redis 主从是指:一个 Redis 实例作为主节点(Master),负责写入。
一个或多个 Redis 实例作为从节点(Slave/Replica),从主节点同步数据并提供读服务。

主从复制的核心目的主要有三个:
数据冗余与高可用基础:主节点数据可以复制到多个从节点,降低单点故障风险。
读写分离:写请求集中到主节点,读请求可以分散到从节点,从而提升整体吞吐量。
故障恢复与弹性扩展:当主节点出现问题时,从节点可以在一定机制下接管服务,保证业务连续性。
Redis主从架构
Redis主从之间的复制分为两部分:全量复制和增量复制。

Application
|
+-------+-------+
| |
写 读
| |
v v
+--------+ +----------+
| Master |---->| Replica1 |
+--------+ +----------+
| +----------+
+--------->| Replica2 |
+----------+
|
+---------> +----------+
| Replica3 |
+----------+
Master负责写:
SET user:1001 mikechen
然后把数据变化复制给多个 Replica。
读请求可以分散到:
Replica1
Replica2
Replica3
这样可以提高 Redis 的读吞吐能力。
Redis主从原理

Redis 的主从复制并不是简单地“把主库数据拷贝一份”,而是一个包含连接建立、全量同步、增量同步的动态过程。
1. 建立复制关系
从节点通过配置或命令指定主节点地址,随后向主节点发起连接请求。
连接建立后,从节点会向主节点发送同步请求。
2. 全量同步
当从节点首次连接主节点,或者复制断开时间较长、无法通过增量补齐时,主节点会进行全量同步。
全量同步的特点是数据完整,但代价较高,尤其在数据量大时会占用较多 CPU、磁盘和网络资源。
3. 增量同步
当主从连接短暂中断后,如果主节点仍保留断线期间的复制积压数据。
节点可通过增量同步补齐差异,而无需重新执行全量同步。
增量同步显著降低了复制成本,也是 Redis 主从复制高效的重要原因。
以上