面试题答案
一键面试可能引发的问题
- 主从数据不一致:主节点上过期键删除时,如果从节点复制延迟,可能导致主从数据短暂不一致,影响业务读取到过期数据。
- 过期键传播延迟:高并发场景下,主节点处理过期键的消息可能在复制缓冲区积压,不能及时传播到从节点,进一步加剧数据不一致问题。
- 从节点性能影响:从节点接收并处理过期键删除操作时,可能因为高并发下的处理压力,影响从节点自身的读写性能。
优化策略
- 优化复制配置:适当调整
repl-backlog-size
参数,增大复制缓冲区,避免过期键消息积压,确保主从数据能尽快同步。 - 缩短过期键检测周期:在主节点上适当缩短过期键的检测周期,让过期键能更快被发现并处理,减少不一致时间窗口。
- 从节点优化:从节点可采用异步方式处理过期键删除,避免阻塞自身读写操作。例如利用
bio
(Background I/O)机制在后台线程处理过期键删除。 - 业务层补偿:在业务代码中,对于可能读取到过期数据的场景,添加额外的逻辑判断,如检查数据是否过期并重新获取等,增强数据一致性的保障。