加载中...

Cache-Aside(旁路缓存,又称 Lazy Loading)是应用程序显式管理缓存的模式:缓存不与数据库直接联动,读写逻辑都由应用代码编排。它是 Redis 等缓存最普遍的使用方式。
读路径:先查缓存,命中直接返回;未命中则查数据库,将结果写入缓存(设置 TTL)后返回。写路径:先更新数据库,再删除(而非更新)对应缓存键,下次读取时自然重建——「删除优于更新」可避免并发写导致的旧值覆盖,也不为冷数据做无谓计算。
该模式只能保证最终一致:在「写库成功、删缓存之间」或「读旧库、后写缓存」等交错时序下会短暂读到旧值。常见缓解手段包括延迟双删、给缓存设置较短 TTL 兜底、通过订阅数据库变更日志(如 binlog)异步删除缓存。
与之相对的 Read-Through/Write-Through 模式把加载与写入逻辑下沉到缓存组件本身,应用只与缓存交互;Cache-Aside 更灵活直观,因而应用最广。

登录 后参与讨论
暂无讨论,来发表第一条评论吧