博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
缓存更新逻辑思考
阅读量:6420 次
发布时间:2019-06-23

本文共 277 字,大约阅读时间需要 1 分钟。

  hot3.png

思考原因。

程序员在使用缓存时候,一般步骤。

1.查询有没有缓存。
2.情况1,没有缓存,读取数据库,更新缓存,情况2,有缓存返回。
然而这样的逻辑在并发时候会出现脏缓存,就是缓存更新还是旧的。

下面就是并发更新缓存的过程图片

 

 

这样更新后的缓存还是旧的数据,没有意义。

问题所在,更新缓存只是判断有或者没有,不关注数据是否新旧。

所以在缓存中增加一个时间戳(或者版本号),只有时间戳(或者版本号)大于当前数据才能更新或者缓存为空的时候。

所以得出下面的更新逻辑。

 

 

转载于:https://my.oschina.net/huotui/blog/848376

你可能感兴趣的文章
Repository 与 DAO
查看>>
【vmcloudlab】Hyper-V平台上安装Linux集成服务
查看>>
Zabbix监控Windows主机
查看>>
Android加载第三方jar混淆出错的问题
查看>>
Docker的文件系统
查看>>
IBM x3850 RAID5数据恢复方案及过程
查看>>
移动计算领域五大机遇:交通运输优势待挖掘
查看>>
如何把win7 旗舰版升级到sp1最新版本
查看>>
android 调用系统界面
查看>>
Software Enginering-------using git
查看>>
浅谈IP地址-1
查看>>
我的友情链接
查看>>
Spring mvc 使用PropertyEditor进行数据转换
查看>>
JavaScript 面向对象学习——1
查看>>
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
查看>>
正确使用 Volatile 变量
查看>>
windows下微信公众号开发(js-sdk)(一)
查看>>
DVB搜索
查看>>
Vuejs——(9)组件——props数据传递
查看>>
关于mysql一些锁问题的总结
查看>>