Redis主从复制原理及搭建过程
大家好,我是程序员老王。今天咱们来聊聊面试中高频出现的问题——Redis主从复制。如果你在面试中被问到主从复制的原理和搭建过程,该怎么回答?这篇文章会从原理到实践,手把手教你如何应对这类问题。
2025年Java面试宝典已上传网盘,点击领取👉 <span style="color: blue;">链接</span> 👈提取码: 9b3g
Redis主从复制的核心原理
Redis主从复制的核心是数据冗余和读写分离,主节点(Master)负责写操作,从节点(Slave)负责读操作。当主节点数据更新时,通过异步复制机制将数据同步到从节点。
1. 同步过程的三阶段
- 全量复制:从节点首次连接主节点时,主节点生成RDB快照发送给从节点,完成全量数据同步。
- 增量复制:主节点将后续的写命令缓存到复制缓冲区(Replication Buffer),从节点持续接收并执行这些命令。
- 断线重连优化:如果从节点断开后重新连接,主节点会根据偏移量(Offset)只发送断线期间的增量数据,避免全量复制。

2. 主从复制的优势
- 高可用:主节点宕机时,从节点可升级为主节点(需结合哨兵或集群)。
- 负载均衡:读请求分流到从节点,降低主节点压力。
- 数据备份:从节点相当于主节点的实时备份。
主从复制的搭建过程
环境准备
假设你有两台服务器:
- 主节点:192.168.1.100
- 从节点:192.168.1.101
步骤1:配置主节点
主节点无需特殊配置,默认开启复制功能。启动Redis服务:
redis-server /path/to/redis.conf
步骤2:配置从节点
修改从节点的redis.conf文件,添加以下配置:
slaveof 192.168.1.100 6379 # 指定主节点IP和端口
replica-read-only yes # 从节点只读
启动从节点服务:
redis-server /path/to/redis.conf

步骤3:验证主从状态
在主节点执行:
redis-cli info replication
输出中应包含connected_slaves:1,表示主从连接成功。
在从节点执行:
redis-cli info replication
输出中的role:slave和master_host:192.168.1.100表明从节点已正常连接。
步骤4:测试数据同步
在主节点写入数据:
set key1 "hello"
在从节点读取数据:
get key1
若返回"hello",说明同步成功。
面试高频问题解析
问题1:主从复制延迟怎么办?
- 答案:主从复制是异步的,延迟不可避免。优化方案包括:
- 网络优化:主从节点部署在同一局域网。
- 减少大Key:避免单次传输数据量过大。
- 监控偏移量:通过
info replication观察主从偏移量是否一致。
问题2:主节点宕机如何恢复?
- 答案:手动将某个从节点升级为主节点(
slaveof no one),并让其他从节点指向新主节点。更推荐使用哨兵模式实现自动故障转移。

写在最后
掌握Redis主从复制的原理和搭建,不仅能应对面试,更能为实际项目中的高可用架构打下基础。如果你正在准备面试,推荐使用面试鸭返利网(mianshiyafanli.com)获取最新面试题库和课程。
小提示:通过面试鸭返利网购买会员可返利25元,性价比超高!快去试试吧~
(正文完)


