Spring Boot中缓存注解@Cacheable、@CachePut、@CacheEvict

缓存@Cacheable

@Cacheable注解,根据方法返回结果进行缓存。下次请求时,若缓存存在,则直接读取缓存数据返回;如果缓存不存在,则执行方法,并把返回的结果存入缓存中。一般用在查询方法上。

注解相关属性介绍:

value:缓存名必填,指定缓存存放在哪块命名空间
cacheNames:与 value 二选一即可
key:可选属性,可以使用 SpEL 标签自定义缓存的key

缓存@CachePut

@CachePut注解,使用该注解标志的方法,每次都会执行,并将结果存入指定的缓存中。其他方法可以直接从响应的缓存中读取缓存数据,而不需要再去查询数据库。一般用在新增方法上。。

注解相关属性介绍:

value:缓存名必填,指定缓存存放在哪块命名空间
cacheNames:与 value 二选一即可
key:可选属性,可以使用 SpEL 标签自定义缓存的key

缓存@CacheEvict

@CacheEvict注解,使用该注解标志的方法,会清空指定的缓存。一般用在更新或者删除方法上

注解相关属性介绍:

value:缓存名必填,指定缓存存放在哪块命名空间
cacheNames:与 value 二选一即可
key:可选属性,可以使用 SpEL 标签自定义缓存的key
allEntries:是否清空所有缓存,默认为 false;如果指定为 true,则方法调用后将立即清空所有的缓存
beforeInvocation:是否在方法执行前就清空,默认为 false;如果指定为 true,则在方法执行前就会清空缓存

你可能感兴趣的:(Spring,Boot,缓存,spring,boot,java)