目录
[2. @Cacheable注解](#2. @Cacheable注解)
简介
快速入门
引入依赖
常用注解
使用步骤
1.开启缓存注解
2. @Cacheable注解
该注解仅用于查询操作,增删改需要使用下一个注解
@Cacheable
先进行缓存查询,如果为空,则进行方法查询,并将结果进行缓存;如果缓存中有数据,则直接使用缓存数据;该注解有多个属性如下:
cachenames/value:指定缓存组件的名字,将方法的返回值结果放在哪个缓存中,是数组的方式,可以指定 多个缓存。
key:用key来指定缓存数据的key,可以使用SpEl表达式;
keyGenerator:key的生成器,可以自己指定key的生成器组件id,和key属性二选一使用
cacheManager:指定缓存管理器,或者cacheResolver指定获取解析器二者二选一
condition:执行符合条件的情况下才缓存
unless:否定缓存;当unless指定的条件为true,方法的返回值就不会被缓存,可以获取到结果进行判断;unless="#result==null"
sync:是否使用异步缓存,默认为false
前两个是最常用的,指定范围
- @CacheEvict注解
该注解用于清除缓存,通常用于各种增删改操作以后。因为缓存的数据没有更新,需要从数据库重新查询
通常使用(cacheNames = " ",key = " ")指定清除哪部分的数据。如果想清除全部则把key部分变为 allEntries = true。