一致性与缓存模式
常见缓存读写模式与一致性策略对比,结合业务读写特征选择。
模式对比
- Cache-Aside(旁路缓存):
- 读:先读缓存,未命中读 DB 并回填。
- 写:先写 DB,再删除缓存(或更新)。
- 优点:简单、DB 为准;缺点:短暂不一致,需要处理并发与穿透。
- Write-Through:写 DB 同时写缓存(或由缓存层代理写 DB)。
- Write-Behind:写入先落缓存/队列,异步批量写 DB(需要容灾与幂等)。
延时双删
- 流程:写 DB -> 删除缓存 -> 延时短暂(如 100ms)再次删除。
- 应用场景:并发读多写少、允许短暂最终一致;避免读到旧缓存。
其他技巧
- TTL 与随机抖动,避免 同时过期引发缓存雪崩。
- 热点 Key 本地缓存(Caffeine)+ 订阅失效消息多级联动。
- 更新消息通知:Pub/Sub 或 Stream 实现订阅式失效。