更新数据库后是直接更新缓存还是删除缓存?

2020-05-28 23:19:31 +08:00
 noble4cc

各有什么优缺点呢?

3090 次点击
所在节点    Java
9 条回复
hangszhang
2020-05-28 23:59:17 +08:00
正确的做法好像是,更新数据库后, 延迟异步删除缓存(博客上看的...).
goodboy95
2020-05-29 09:34:06 +08:00
我是删除党,毕竟项目并发不高,直接删了贼方便,不怕改的时候改错
damai0419
2020-05-29 09:37:01 +08:00
删除缓存 --> 更新数据库
kiracyan
2020-05-29 09:41:26 +08:00
缓存更新策略有好几种 随便搜索都有详细介绍
yiyi11
2020-05-29 10:05:39 +08:00
1.删除缓存 /缓存过期(复杂缓存值可能关联其他业务计算,不能简单的更新,为了维护方便,统一由读请求维护)
2.更新数据库

对于实时性要求较高的数据,需考虑高并发情况下的双写一致性。
ilumer
2020-05-29 10:58:25 +08:00
noble4cc
2020-05-29 11:05:37 +08:00
@hangszhang 关键是原因呀,不然不好忽悠别人
yc8332
2020-05-29 14:03:05 +08:00
这个要看是否有高并发?如果有要代码直接重建缓存,不然就会很多请求穿透到数据库。没啥请求的直接删除就行了
jinzhongyuan
2020-05-29 14:27:04 +08:00
@yiyi11 读请求维护缓存,更新接口驱逐缓存, 但是正常来说更新接口先更新 DB,再驱逐缓存比较好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676486

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX