我的一个见解
来源:3-4 幂等性概念及业界主流解决方案

海王sk
2018-08-09
1)、先操作数据库,再操作缓存,如果:第一步成功,第二步失败,会导致,数据库里是新数据,而缓存里是旧数据,业务无法接受
2)、先操作缓存,再操作数据库,如果:第一步成功,第二步失败,会导致,缓存里是set后的数据,数据库里是之前的数据,数据不一致,业务无法接受,并且,一般来说,数据最终以数据库为准,写缓存成功,其实并不算成功。
最终,先操作缓存,还是先操作数据库?
1)读请求,先读缓存,如果没有命中,读数据库,再set回缓存,老师所说的到底以redis为准还是数据库为准,个人选择数据库,redis最终只需要给我返回一个订单信息即可
2)写请求
2.1)先缓存,再数据库
2.2)缓存,使用delete,而不是set
写回答
1回答
-
阿神
2018-08-09
这个问题,看实际需求,不一定所有的都是要先写数据库,这个问题存在 一个缓存淘汰和 缓存更新的问题,看实际业务需求,到底哪个代价比较大,然后去衡量,因为无论哪种情况 都不能保证数据100%一致,所以还是要看情况而定哦
00
相似问题