Redis 和 MySQL 如何保证一致性?
参考答案
常用Cache Aside Pattern(旁路缓存)保证最终一致:读先缓存未命中读库回写;写先更新MySQL再删Redis缓存(而非更新缓存,避免脏数据)。问题:删缓存失败或并发读写不一致。解决:1.延迟双删(更新库->删缓存->延迟再删);2.通过Canal监听binlog异步删缓存;3.设缓存过期时间兜底。强一致需分布式事务,成本高,业务常接受最终一致。对比:删缓存比更新缓存简单安全。
题目整理自公开面经,答案由校招宝自研生成,仅供参考