一级缓存二级缓存的获取与更新顺序(一)

一级缓存二级缓存的获取与更新顺序(一)_第1张图片

对于缓存,搞开发的小伙伴们经常用到,当我们需要查询缓存过的数据时,查询的顺序:一级缓存(也称本地缓存)如果查询到直接返回,查询不到接着查询二级缓存-->二级缓存(redis缓存)如果查询到数据则更新一级缓存后并返回数据,如果查询不到则查询数据库-->查询数据库,如果查询到数据则更新一级缓存,再更新二级缓存,然后返回数据--->如果一二级缓存都没有查询到我们需要的数据; 

下面我们代码实操下编写的一级缓存组件:

一级缓存二级缓存的获取与更新顺序(一)_第2张图片

一级缓存二级缓存的获取与更新顺序(一)_第3张图片

一级缓存二级缓存的获取与更新顺序(一)_第4张图片 下面我来看二级缓存的关键代码(这些代码可以更加实际的业务逻辑进行封装):

一级缓存二级缓存的获取与更新顺序(一)_第5张图片

一级缓存二级缓存的获取与更新顺序(一)_第6张图片 一级缓存二级缓存的获取与更新顺序(一)_第7张图片

一级缓存二级缓存的获取与更新顺序(一)_第8张图片

一级缓存二级缓存的获取与更新顺序(一)_第9张图片 一级缓存二级缓存的获取与更新顺序(一)_第10张图片 一级缓存二级缓存的获取与更新顺序(一)_第11张图片 一级缓存二级缓存的获取与更新顺序(一)_第12张图片

 上面是一二级缓存的实现,下面我们结合业务逻辑使用一二级缓存的业务组件;

一级缓存二级缓存的获取与更新顺序(一)_第13张图片

 看下面这段代码,先查询一级缓存,如果查询不到,这查询二级缓存,如果查询到数据,这更新一级缓存,并返回数据;一级缓存二级缓存的获取与更新顺序(一)_第14张图片

 下面这段代码是,如果二级缓存也没有查询到,则查询数据库,并将查询到的数据,更新二级缓存,然后在更新一级缓存,并返回查询到的数据;一级缓存二级缓存的获取与更新顺序(一)_第15张图片

 小结: 上面的例子体现了一二级缓存的查询顺序与更新顺序,仔细琢磨......

你可能感兴趣的:(缓存,redis,数据库)