[Mores]最近的动态
一个先更新数据库再删缓存的常规缓存写法,在一次并发读写恰好交错时,把旧数据又写回了缓存、脏了好久:一次缓存一致性的深度复盘
用 cache-aside(先更新数据库再删缓存)缓存商品,偶尔出现 DB 是新价、缓存却一直是旧价。根因是读写并发交错:缓存刚过期时读请求查 DB 读到旧值、还没回填,此时写请求更新 DB 并删缓存,然后读请求慢一步把旧值写回缓存、盖过了…


参与讨论{{item.data.meta.comment}}条讨论