概述
文章目录
-
- 前言
- 先更新数据库,再更新缓存
-
- 一、线程安全问题
- 二、使用场景问题
- 先删缓存,再更新数据库
-
- 一、问题
- 二、延时双删策略
- 先更新数据库,再删缓存
-
- 问题
前言
从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果数据库写成功,缓存更新失败,那么只要到达过期时间,则后面的读请求自然会从数据库中读取新值然后更新缓存。
因此,接下来讨论的思路不依赖于给缓存设置过期时间这个方案。
先更新数据库,再更新缓存
一、线程安全问题
假设同时有请求A和请求B进行更新操作,那么会出现如下情景
- 线程A更新了数据库
- 线程B更新了数据库
- 线程B更新了缓存
- 线程A更新了缓存
正
最后
以上就是无私大门为你收集整理的Redis缓存一致性问题的全部内容,希望文章能够帮你解决Redis缓存一致性问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复