Skip to content

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 和端口