spring cache 常用缓存注解介绍

spring-cache 常用缓存注解介绍

包地址 注解名 作用域 作用
org.springframework.cache.annotation CacheConfig 类级别 s设置缓存的公共配置
Cacheable 方法级别 缓存读取操作
CacheEvict 方法级别 缓存失效操作
CachePut 方法级别 缓存更新操作
Caching 方法级别 h混合读取、失效、更新操作

CacheConfig

主要作用是全局配置,比如配置缓存名称(cacheNames),只需要在类上面使用这个注解配置一次,类下面的方法就默认使用全局配置了。

Cacheable

这个注解是最重要的,主要实现的是功能在进行读操作的时候,先从缓存中查询,如果查询不到,再走业务流程获取数据,获取成功后,保存到缓存中。

属性 默认值 描述
value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个
cacheNames 缓存的名称,在 spring 配置文件中定义,必须指定至少一个
key 缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合
keyGenerator
cacheManager
cacheResolver
condition 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存。不能使用返回结果
unless 不缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 false才进行缓存。可以使用返回结果
sync

CacheEvict

这个注解主要是配合@Cacheable一起使用,它的主要作用是清除缓存。当进行一些更新、删除操作时,就需要删除缓存。如果不删除缓存就会出现读取不到最新数据的情况。它有一个重要的数据allEntries默认是false。当true是,会清除所有缓存,而不以指定的key为主。

CachePut

这个注解总是会把数据缓存,而不会每次检测缓存是否存在

Caching

这个注解是CacheableCachePutCacheEvict的综合体,可以使用这个注解包含以上3个注解。

  • 本文作者: forever杨
  • 本文链接: https://blog.yl-online.top/posts/3bef8a86.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。如果文章内容对你有用,请记录到你的笔记中。本博客站点随时会停止服务,请不要收藏、转载!