我是靠谱客的博主 机智大地,最近开发中收集的这篇文章主要介绍Cache Aside Pattern(旁路缓存模式)在写数据的过程中,可以先删除 cache ,后更新 db 么?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Cache Aside Pattern(旁路缓存模式)在写数据的过程中,可以先删除 cache ,后更新 db 么?

相关知识:
Cache Aside Pattern(旁路缓存模式)
Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。
Cache Aside Pattern 中服务端需要同时维系 db 和 cache,并且是以 db 的结果为准。
下面我们来看一下这个策略模式下的缓存读写步骤。
写 :
先更新 db
然后直接删除 cache 。

读 :
从 cache 中读取数据,读取到就直接返回
cache 中读取不到的话,就从 db 中读取数据返回
再把数据放到 cache 中。

问题答案:
不可以。以mysql 5.6为例,默认隔离级别为RR(可重复读)。线程1对数据进行更新,如果先删除缓存后更新DB,在两步中间若有线程2进行读数据操作,所读取的数据为更新前的数据,让后把此数据放入缓存。在此之后DB为新数据,缓存为旧数据,造成DB与缓存不一致

最后

以上就是机智大地为你收集整理的Cache Aside Pattern(旁路缓存模式)在写数据的过程中,可以先删除 cache ,后更新 db 么?的全部内容,希望文章能够帮你解决Cache Aside Pattern(旁路缓存模式)在写数据的过程中,可以先删除 cache ,后更新 db 么?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(29)

评论列表共有 0 条评论

立即
投稿
返回
顶部