Spring Cache (基础知识+瑞吉外卖项目)

news/2024/10/30 13:37:45/

Spring Cache

基本介绍

Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。
Spring Cache提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术。
CacheManager是Spring提供的各种缓存技术抽象接口。
针对不同的缓存技术,需要实现不同的CacheManager:
在这里插入图片描述

注解

在这里插入图片描述

入门

导入pom依赖

如果是使用基础的,我们只需要导入这个pom依赖即可。如果使用redis缓存,还需要加其他依赖。
在这里插入图片描述

在启动类上,加上注解@EnableCaching

@CachePut添加缓存

CachePut将方法返回值放入缓存,这个注解一般写在add方法上。
其中参数value表示缓存的名称,每个缓存下面可以有多个key;key缓存的key

@CachePut(value="userCache",key="#result.id"

result表示的是返回值对象;而写user表示的是参数,与参数同名!
在这里插入图片描述
这种写法默认使用的是ConcurrentMapCacheManager,缓存是基于内存的,当服务器停掉,重新启动,里边就没有数据了。

@CacheEvict清除缓存

这个注解一般写在delete;update方法上去清除缓存
@CacheEvict清除指定缓存
value缓存的名称,每个缓存名称下面可以有多个key
key缓存的key
在这里插入图片描述
在这里插入图片描述

@Cacheable先判断在存储

这个注解写在get方法上。
@Cacheable先看缓存有没有数据,如果有数据,则直接返回缓存数据;如果没有,则调用方法并将返回值放在缓存中。
在这里插入图片描述
上边这么写,无论查出来有没有数据,都会存入缓存,value的值可能为null
下边这个会判断一下,返回值是不是为空,不为空才进行保存
在这里插入图片描述
上边那个有错误:是因为condition不能使用result
在这里插入图片描述

上边的缓存的底层都是基于map的,现在我们改变一下底层,让他基于redis

redis实现

在这里插入图片描述
导入这个依赖,实现类多一点,但是还是没有redis
再导入这个依赖,就有了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要注意的是,添加缓存的时候,返回的那个结果,一定要实现序列化接口,要不会报错!!!
添加缓存-------查询方法上

 @Cacheable(value="setmealCache",key = "#setmeal.categoryId")

删除缓存全部数据------------修改删除和新增方法上

@CacheEvict(value = "setmealCache",allEntries = true)
@Cacheable(value="setmealCache",key = "#setmeal.categoryId+'_'+#setmeal.status")

http://www.ppmy.cn/news/841702.html

相关文章

22春天津大学《钢筋混凝土结构(1)》在线作业1

22春天津大学《钢筋混凝土结构(1)》在线作业1-0001 第1题,当其他条件完全相同,根据钢筋面积选择钢筋直径和根数时,对裂缝有利的选择是( )。A、较粗的变形钢筋;B、较粗的光面钢筋;C、较细的变形钢筋&#…

建筑施工技术【11】

1.常温下砌筑砌块墙体时,铺灰长度最多不宜超过()。 A.5m B.1m C.3m D.7m 2.下列哪一项不属于“三一”砌砖法的特点。 A.一铺灰 B.一块砖 C.一铲灰 D.一揉压 3.现浇混凝土结构模板拆除顺序正确的是 A.跨度4m及4m以上的梁下均应保留支柱&a…

2022电大国家开放大学网上形考任务-桥梁工程技术非免费(非答案)

桥梁工程技术形考任务一答案 一、判断题 题目:沉井既是一种基础形式,又是一种施工方法 题目:沉井下沉主要依靠自身重量下沉 题目:打入桩施工,打桩初期应轻击慢打 题目:刚架桥是一种桥跨结构和墩、台结构整体相连的桥梁…

建筑施工技术【7】

1.地下连续墙采用泥浆护壁的方法施工时,泥浆的作用是()。 A.降压 B.护壁 C.润滑 D.携砂 E.冷却 2.按成孔方法不同,混凝土灌注桩分为()。 A.静压沉桩 B.人工挖孔灌注桩 C.钻孔灌注桩 D.爆扩灌注桩 E.沉管…

建筑材料【10】

1.对干燥环境中的工程,应优先选用() A.粉煤灰水泥 B.普通水泥 C.矿渣水泥 D.火山灰水泥 2.水泥试气硬性胶凝材料 3.建筑石膏的抗压强度,比下列材料中的()高 A.花岗岩 B.石灰 C.烧结砖 D.水泥 4.在生产水泥时必须掺入适量石膏是为了(&…

建筑材料【9】

1.将一批混凝土试件,经养护至此28天后分别测得其养护状态下的平均抗压强度为23Mpa,干燥状态下的平均抗压强度为25Mpa,吸水饱和状态下的平均抗压强度为22Mpa,则其软化系数为() A.0.13 B.0.88 C.0.96 D.0.92…

2022年一级建造师港口与航道工程考试模拟试题卷及答案

题库来源:优题宝公众号,2022年一级建造师港口与航道工程考试模拟试题卷及答案,根据最新一级建造师港口与航道工程考试大纲与历年一级建造师港口与航道工程考试真题汇总编写,包含一级建造师港口与航道工程考试常考重点题型与知识点…

建筑施工技术【20】

1.砖砌体留直槎时应加设拉结筋拉结筋沿墙高每()设一层。 A.300mm B.700mm C.1000mm D.500mm 2.砌筑工程质量的基本要求是()。 A.砖强度高 B.上下错缝 C.横平竖直 D.砂浆饱满 E.内外搭接 3.钢筋锥螺纹连接的优点是(…