springboot使用redis缓存

springboot比ssm配置redis要简单方便很多,下面进入配置步骤

首先在pom.xml文件中引入依赖:spring-boot-starter-data-redis

然后在application.yml文件中配置redis的IP地址和端口号,如果有密码还得配置密码

如图:

然后在springboot的启动类上添加@EnableCaching注解,你的所有类都得在springbootApplication类的同级包下,如果不是的话,你就得设置包扫描注解,

然后就可以进行redis缓存的使用了,在你想要加注解的地方使用

@Cacheable(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")

此注解用于需要存缓存的地方可以是类上也可以是方法上,

cacheNames为redis中key的前缀值,比如擦车Names = "School",则在Redis中显示为"School:",可有可五

value为school后面的值,这两个构成一个redis的key,

key属性是用来指定Spring缓存方法的返回结果时对应的key的,你可以使用EL表达式来获取key

condition有的时候我们可能并不希望缓存一个方法所有的返回结果。通过condition属性可以实现这一功能。condition属性默认为空,表示将缓存所有的调用情形。其值是通过SpringEL表达式来指定的,当为true时表示进行缓存处理;当为false时表示不进行缓存处理,即每次调用该方法时该方法都会执行一次。

当有地方改动值了需要做缓存同步,可使用 

@CacheEvict(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx"

属性一样,只是这个是用来清除缓存的。

使用场景举例:用户查看商品列表,则可以在查看商品列表的controller上加个缓存,或者查出来list的Service类上加个缓存,

如若后台添加了商品,或者下架了商品则需要在添加下架的controller或者service上清除这个缓存。


@CachePut(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")

       在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。@CachePut也可以声明一个方法支持缓存功能。与@Cacheable不同的是使用@CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。


一般用的比较多的是@Cacheable和@CacheEvict






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值