为什么是先更新数据库再删除缓存,而不是更新缓存?

一开始看很多人说更新数据库后删除缓存,然后有人说是更新缓存时需要遍历list或者hash查找导致慢,我!@#&((&(&^%&%&m&*&()&,然后百度一堆。。。。。。。,然后用Bing搜索找到了想要的结果,就想着总结一下

开始正文!

业务场景

编辑新建了一篇新闻,在数据库news表中存储新闻信息,但是客户端查询新闻到缓存的时候会关联多个表,有评论信息、浏览量、点赞、点击量等等,如果在数据添加新闻后,然后为了更新缓存查出这么多信息再插入,岂不是很浪费时间??如果这个新闻添加到缓存中,但是没有用户去看,是不是浪费内存???由于编辑可能需要频道的修改新闻,但每次更新完数据库再更新缓存,假设一分钟更新10次、100次、1000次,但是这个新闻其实根本没人看,what??此时不就浪费更新缓存的时间?浪费内存??

复杂业务场景下:如果缓存的内容关联多个表,为了缓存查询关联表,此时更新缓存没有必要,而根据key删除的话比较快。

提升缓存利用率:如果更新缓存后,缓存却并没有用,这就白白浪费内存了,而删除的话,用到缓存才去算缓存

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值