编辑
2023-09-25
后端
00
请注意,本文编写于 593 天前,最后修改于 581 天前,其中某些信息可能已经过时。

目录

先更新缓存在更新数据库
先更新数据库在更新缓存
先删除缓存再更新数据库
先更新数据库再删除缓存
总结

先更新缓存在更新数据库

image.png

因为缓存更新时是远快于写数据库的(磁盘IO),所以发生的概率较大。

先更新数据库在更新缓存

image.png

因为网络的原因,可能会发生这种情况,还有就是第一次更新缓存失败,重复更新。但是概率较小,因为缓存更新要快很多。可以增加更短的过期时间来避免长时间的数据不一致性。

先删除缓存再更新数据库

image.png

这种和上面一样,同样会发生数据不一致的情况,而且缓存命中率大大降低。

先更新数据库再删除缓存

image.png

也可能发生数据不一致的现象,但是概率较小,因为缓存更新要更快。

总结

一般情况下无脑选择先更新数据库再删除缓存,能够保证一致性,但是缓存命中率低很多,如果命中率要求较高,可以先更新数据库在更新缓存,设置较短过期时间。

还有一种方法,订阅mysql,binlog。

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!