Spring Boot整合Spring Cache,以及Redis

在Spring项目中整合Spring Cache,使用Redis作为缓存数据库

Spring Cache简介

几个重要概念&缓存注解
1.@Cacheable 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存
2.@CacheEvict 清空缓存
3.@CachePut 保证方法被调用,又希望结果被缓存。
4.@EnableCaching 开启基于注解的缓存

注解中参数详解
在这里插入图片描述
接下来用一个Demo来演示如何在Spring Boot集成Cache
1.pom.xml配置(部分)由于demo中还使用了mysql作为持久化数据库,故这里需要集成mybatis
在这里插入图片描述
2.spiring boot配置文件 这里配置了mysql的连接信息,以及Redis的连接信息,以及mybatis映射文件
在这里插入图片描述
3.在启动类中加上注解 @EnableCaching
在这里插入图片描述
4.在需要缓存数据的方法上加上注解
在这里演示 @Cacheable,@CacheEvict和@CachePut,以及其中参数的含义
1.@Cacheable的使用,在下图查询方法中在方法体上方加上 @Cacheable,其中value表示其在缓存数据库中命名空间。如图所示在Redis数据库中其名称为userCache::SimpleKey。在调用该方法时首先会在Redis中查询是否有命名空间为userCache::SimpleKey的缓存数据,如果有则直接返回,不执行方法,如果没有则会执行方法,并将返回结果加入到缓存数据库中,命名空间为userCache::SimpleKey。
在这里插入图片描述
在这里插入图片描述
2.@CacheEvict
在方法上加上这个注解,方法会执行,并且会在执行方法后清除命名空间为UserCache下的数据。由于我这里设置allEntries=true 所有会清楚这个命名空间下的所有数据。当执行更新数据库操作时常用这个注解来保证缓存数据数据始终是最新数据。
在这里插入图片描述
3.@CachePut
@CachePut与@Cacheable都是将方法返回结果加入缓存,但不同的是@CachePut会执行方法内部语句,而@Cacheable在缓存数据库中有语句的时候不会执行方法而会直接返回结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值