@Cacheable使用(Spting及SpringBoot)

spring的缓存注解,SpringBoot也可以使用,方便易用

@Cacheable使用

1,spring中使用

1)xml配置如下,启动Cache Annotation注解

<cache:annotation-driven cache-manager="cacheManager" />

2)对应方法加@cacheable注解

//value:指定缓存组件的名字  key:缓存数据使用的key,可以用来指定。默认即使用方法参数的值
// keyGenerator:key的生成器,可以自己指定key的生成器的组件id
@Cacheable(value = {"XXX"}, key = "XXX")
2.SpringBoot中使用

1)添加依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

2)启动类加@EnableCaching开启注解缓存
3)同Spring一样加对应方法上加@Cacheable注解

3,其他缓存注解

@Cacheable :对方法结果进行缓存(主要用于GET方法)

  • cacheNames/value:指定缓存主键(Cache)的名字 key:缓存数据使用key,支持spEl语法
  • keyGenerator:key的生成器。与key属性冲突,自定义 keyGenerator
    必须实现org.springframework.cache.interceptor.KeyGenerator,default使用默认的参数值生成器
  • cacheManager:指定缓存管理器,或者cacheResolver指定获取解析器 cacheResolver:
    与CacheManager冲突 condition:指定条件满足才缓存,与unless相反。可以使用spEL语法
  • unless:否定缓存,当满足条件时,结果不被缓存。可以获取到结果(#result)进行判断。支持spEL语法
  • sync:是否异步模式。在该模式下unless不被支持。default=false

@CachePut:先调用方法,在对结果进行缓存。(主要用于PUT方法),需要注意key的设置
@CacheEvict:默认先调用方法,在删除缓存(主要用于DELETE方法)

  • allEntries: 删除缓存组件中(cacheNames/value指定)所有的值
  • beforeInvocation:在方法执行之前删除值,default=false

@Caching:组合注解。针对复杂情况
@CacheConfig:加载类上,用于设置缓存的共有属性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值