简介
CacheManager
是Spring提供的各种缓存技术抽象接口,Cache
接口包含缓存的常用操作:增加、删除、读取等。针对不同的缓存技术,需要实现不同的CacheManager。
使用方法及原理
Spring Cache的使用方法和原理类似于Spring对事务管理的支持,都是AOP的方式,提供了@Cacheable、@CachePut、@CacheEvict
等注解,在方法上使用。其核心思想是:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。
- 相关缓存注解
@Cacheable
:表示先从缓存中通过定义的键查询,如果可以查询到数据,则返回,否则执行该方法,返回数据,并且将返回结果保存到缓存中。@CachePut
:表示将方法结果返回存放到缓存中@CacheEvict
:通过定义的键移除缓存,它有一个Boolean类型的配置项beforeInvocation,表示在方法之前或者之后移除缓存。因为其默认值为false,所以默认为方法之后将缓存移除。