Redis 主从复制
主从复制是一种数据冗余备份机制,主服务器数据自动同步到一个或多个从服务器,实现读写分离和故障恢复。
架构
┌──────────┐
│ Master │ ← 写操作
└────┬─────┘
┌───────┼───────┐
▼ ▼ ▼
┌──────┐ ┌──────┐ ┌──────┐
│Slave1│ │Slave2│ │Slave3│ ← 读操作
└──────┘ └──────┘ └──────┘工作流程
| 步骤 | 说明 |
|---|---|
| 1. 配置主服务器 | replicaof / slaveof 配置从服务器地址 |
| 2. 连接请求 | 从服务器发送 SYNC(首次)或 PSYNC(增量) |
| 3. 全量复制 | 首次连接 → 主服务器发送 RDB 快照给从服务器 |
| 4. 部分复制 | 已有断点 → 主服务器发送增量复制流 |
| 5. 本地持久化 | 从服务器将数据保存到本地磁盘 |
| 6. 读写分离 | 从服务器接收读操作,主服务器处理写操作 |
| 7. 故障恢复 | 主服务器挂了 → 从服务器提升为新主服务器 |
关键特点
- 异步复制 — 存在复制延迟(取决于网络和负载)
- 读写分离 — 读流量分散到从服务器,减轻主服务器压力
- 故障恢复 — 主故障时手动/自动提升从服务器为主
配置示例
conf
# 从服务器配置
replicaof 192.168.1.100 6379 # 指定主服务器 IP 和端口