Redis 主从复制
面试官问:"Redis 主从复制是怎么实现的?"
小张说:"主库写,从库读。"
面试官追问:"主从同步的流程是什么?"
小张说:"...把数据同步过去?"
面试官继续追问:"全量同步和增量同步分别什么时候触发?"
小陈答不上来。
Redis 主从复制是 Redis 高可用和数据分发的基石。这道题能说清楚全量同步(PSYNC)、增量同步(replication id + offset)的候选人,对 Redis 的复制机制有深入理解。
一、主从复制架构 🔴
1.1 复制架构
1.2 复制流程
二、全量同步 vs 增量同步 🔴
2.1 全量同步(PSYNC ?-1)
2.2 增量同步(PSYNC replication_id offset)
2.3 replication backlog buffer
2.4 ❌ 错误示范
候选人原话:"主从同步就是把数据复制一份到从库。"
问题诊断:不够精确。主从同步有全量同步和增量同步之分,全量同步需要生成 RDB 并传输,增量同步只传输增量命令。
【面试官心理】 这道题我会从 PSYNC 命令的参数追问。能说清楚"为什么需要 replication id"和"offset 的作用"的候选人,说明他理解了增量同步的核心原理。
三、replication id 与 offset 🟡
3.1 replication id
3.2 offset 的作用
四、主从延迟 🟡
4.1 延迟原因
4.2 监控延迟
4.3 减少延迟
【面试官心理】 主从复制是 Redis 面试中的高频题。能说清楚 PSYNC 参数和 replication backlog buffer 作用的候选人,说明他对 Redis 复制机制有源码级别的理解。