SpringBoot2.x 缓存---注解方式、整合RedisCluster

SpringBoot2.x 缓存—注解方式、整合RedisCluster

やめてよ、やめてよ 、優しくしないでよ、どうしても僕には、理解ができないよ

在这里插入图片描述

《心做し》真是太好听啦 ❤️❤️❤️


前言:

最近重构项目,再次使用了一下spring缓存,在这里记录一下。在spring 3.1的时候,引入了对Cache的支持,和事务一样,其实就是做了一个方法aop。spring cache默认将传入参数作为key,将返回值作为value进行保存,如果调用方法有相应的key则不执行方法之间使用aop中的逻辑,即返回缓存结果。

spring cache支持xml和注解的方式,这里我们只谈注解方式


注解说明:

注解 说明
@EnableCaching 开启缓存功能,放在相应配置类或启动类上
@CacheConfig 缓存配置,设置缓存名称
@Cacheable 执行方法前先查询缓存,有则直接返回缓存数据,否则查询数据再将数据放入缓存;也可以放类上,表示该类所有方法都支持缓存
@CachePut 执行新增或更新方法后,将数据放入缓存中(每次都会执行,保持缓存和数据始终一致)
@CacheEvict 清除缓存
@Caching 组合多个缓存操作

注解参数:

  • @EnableCaching
参数 类型 说明
proxyTargetClass boolean 是否要基于cglib生成代理去实现缓存
mode AdviceMode 选择缓存模式、默认是AdviceMode.PROXY 可以切换为 AdviceMode#ASPECTJ
order int 设置缓存管理器执行的顺序
  • @CacheConfig
参数 类型 说明
cacheNames String[] 缓存的名称,别名value
keyGenerator String 缓存key的生成器
cacheManager String 配置使用那个缓存管理器、和cacheResolver排斥
cacheResolver String 定义使用那个拦截器、和cacheManager互斥
  • @Cacheable
参数 类型 说明
value String[] 缓存的名称,别名cacheNames
cacheNames String[] 缓存的名称,别名value
key String 缓存key的值、默认是以所有的参数作为key、也可以直接配置keyGenerator或者spel表达式
keyGenerator String 缓存key的生成器
cacheManager String 配置使用那个缓存管理器、和cacheResolver排斥
cacheResolver String 定义使用那个拦截器、和cacheManager互斥
condition String 根据spel表达式来可以配置什么条件下进行缓存 默认全部缓存
unless String 和condition相反
sync boolean 是否开启同步功能、默认不开启
  • @CachePut
参数 类型 说明
value String[] 缓存的名称,别名cacheNames
cacheNames String[] 缓存的名称,别名value
key String 缓存key的值、默认是以所有的参数作为key、也可以直接配置keyGenerator或者spel表达式
keyGenerator
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值