数据库与缓存数据一致性方案
原创2026/8/22小于 1 分钟Redis
业内3种常见方案对比:
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 先更新数据库,再删除缓存 | 简单 | 缓存删除失败,会导致数据不一致 | 一般场景都适合,尤其是并发量不大,对一致性要求不太高的场景 |
| 延迟双删:先删除缓存,再更新数据库,再删除一次缓存 | 数据一致性保证更好 | 延迟时间不好控制,太短了没用,太长了会导致数据不一致时间长 | 对一致性要求高,并发量大的场景 |
| cache aside:更新数据库,基于 binlog 监听,更新缓存数据 | 解耦,一致性有保障 | 复杂,需引入行的组件 | 适合大厂,有完善的中间件支持,并发高,一致性要求高的场景 |