Spring整合Redisson开启缓存方式

先来了解几个注解:

@Cacheable

表明所修饰的方法是可以缓存的:当第一次调用这个方法时,它的结果会被缓存下来,在缓存的有效时间内,以后访问这个方法都直接返回缓存结果,不再执行方法中的代码段。

这个注解可以用condition属性来设置条件,如果不满足条件,就不使用缓存能力,直接执行方法。

可以使用key属性来指定key的生成规则。

支持如下几个参数:

value:缓存位置名称,不能为空,如果使用EHCache,就是ehcache.xml中声明的cache的name, 指明将值缓存到哪个Cache中

key:缓存的key,默认为空,既表示使用方法的参数类型及参数值作为key,支持SpEL,如果要引用参数值使用井号加参数名,如:#userId,

@CachePut

与@Cacheable不同,@CachePut不仅会缓存方法的结果,还会执行方法的代码段。它支持的属性和用法都与@Cacheable一致。

@CacheEvict

与@Cacheable功能相反,@CacheEvict表明所修饰的方法是用来删除失效或无用的缓存数据。

有如下几个参数:

value:缓存位置名称,不能为空,同上(可以理解成缓存得分区)

key:缓存的key,默认为空,同上

condition:触发条件,只有满足条件的情况才会清除缓存,默认为空,支持SpEL

allEntries:true表示清除value中的全部缓存,默认为false

beforeInvocation:方法执行前就清楚缓存,不管方法是否报错

D3815E13-CF78-2F9C-D1C3-81249772CBDA.png

E96C1D2C-B42C-9D66-4623-D2EEA9532E87.png

springboot配置加

spring.cache.type=redis

在启动类开启缓存

19EC6B67-45D5-7EB5-3F40-D81B75F14985.png

设置缓存超时时间,单位毫秒

spring.cache.redis.time-to-live:1000

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据