当前位置:   article > 正文

【Spring】SpringCache整合redis做缓存_springcatch 缓存

springcatch 缓存

在启动类上添加@EnableCaching注解

自定义缓存时间

  1. //缓存配置类 放置配置的方法,子模板继承和复用
  2. public class CacheConfiguration {
  3. //配置缓存manager
  4. @Bean
  5. @Primary //同类型,多个bean,默认生效! 默认缓存时间1小时! 可以选择!
  6. public RedisCacheManager cacheManagerHour(RedisConnectionFactory redisConnectionFactory){
  7. RedisCacheConfiguration instanceConfig = instanceConfig(1 * 3600L);//缓存时间1小时
  8. //构建缓存对象
  9. return RedisCacheManager.builder(redisConnectionFactory)
  10. .cacheDefaults(instanceConfig)
  11. .transactionAware()
  12. .build();
  13. }
  14. }

在要做缓存的方法上使用对应注解就行了

@Cacheable 

该注解主要是在方法查询中使用,查询是否有缓存,有则直接查询缓存,否则查询数据库并存入redis中

参数:

  • cacheNames、value:用来指定缓存组件名称。
  • key:配置缓存组件名称的下一级名称,可以使用EL表达式,动态命名。
  • KeyGenerator:key 的生成器。key 和 keyGenerator 二选一使用。
  • cacheManager:选择配置类中的缓存配置对象beanname,不选走默认。
  • condition:指定符合条件的情况下才缓存。
  • unless:指定不符合条件的情况下才缓存。
  • sync:是否使用异步模式。

El表达式的一些使用方法:

  •     #root.method 被调用的方法
  •     #root.methodName 被调用的方法名称
  •     #root.target 调用方法的对象
  •     #root.args  方法的参数对象数组 支持[index]获取具体参数
  •     #result 方法执行后的结果
  •     #形参名  直接获取行参数名称 支持ognl向下继续读取

@CachePut 

不影响方法使用,将方法的返回值,进行指定的key更新,通常添加到修改方法上!

  • cacheNames、value:用来指定缓存组件名称。
  • key:配置缓存组件名称的下一级名称,可以使用EL表达式,动态命名。
  • KeyGenerator:key 的生成器。key 和 keyGenerator 二选一使用。
  • cacheManager:选择配置类中的缓存配置对象beanname,不选走默认。
  • condition:指定符合条件的情况下才缓存。
  • unless:指定不符合条件的情况下才缓存。

@CacheEvict 

不影响方法使用,将方法的返回值,进行指定的key失效,通常添加到删除方法上!

  • cacheNames、value:用来指定缓存组件名称。
  • key:配置缓存组件名称的下一级名称,可以使用EL表达式,动态命名。
  • KeyGenerator:key 的生成器。key 和 keyGenerator 二选一使用。
  • cacheManager:选择配置类中的缓存配置对象beanname,不选走默认。
  • condition:指定符合条件的情况下才缓存。
  • allEntries:是否清空所有缓存,默认为false。
  • beforeInvocation:是否在方法执行前就清空,默认为false,默认情况下,如果方法执行抛异常,则不会清空缓存。

@CacheConfig 

主要针对类配置,能够设置当前类中 @Cacheable 的 value 属性默认值。当然如果@Cacheable 设置了 value,还是以设置的值为准。

@Caching 

多包涵注解,可以包含上面三个注解,用于复杂的缓存策略!

  • cacheable:配置多个缓存
  • put:配置多个更新
  • evict:配置多个缓存

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/745004
推荐阅读
相关标签
  

闽ICP备14008679号