更新数据库后再更新缓存,或者先删缓存再更新数据库,都可能在并发下出现短暂不一致。缓存策略要围绕业务容忍度设计。

常见做法是更新数据库后删除缓存,让下一次读取回源重建。对于高并发热点,可以配合延迟双删或消息异步清理。

不要把缓存当成事实来源。事实来源应该是数据库,缓存只是加速读取。

tx.Commit()
cache.Del(ctx, key)

如果业务不能容忍任何短暂不一致,就不要依赖普通缓存方案,需要考虑事务消息、读写串行化或更强的一致性设计。

分类: 数据库与缓存 标签: 数据库 Redis 缓存

评论

-- 评论已关闭 --

全部评论