Spring 缓存注解之@Cacheable,@CacheEvit
Spring引入了Cache的支持,其使用方法类似于Spring对事务的支持。Spring Cache是作用于方法上的,其核心思想是,当我们调用一个缓存方法时,把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时不再执行该方法,而是直接从缓存获取结果返回,所以使用Spring Cache的时候保证我们缓存的方法对于相同的方法参数要有相同的返回结果。
接下来介绍两种Spring基于注解对Cache支持的两种注解
一·@Cacheable
key:自定义
形如,#参数名或#p参数index
value:必须指定返回值放在哪个Cache上,可以是一个Cache,可以是多个Cache,当多个Cache时,其是一个数组
condition:结果进行缓存的条件
二·@CacheEvit:标记在需要清除缓存元素方法或类上
一中的三个属性在二中同样适用。
allEntries:boolean类型 是否需要清除缓存中所有元素
beforeInvocation:清除操作默认是在对应方法成功执行后触发的,即方法因为抛出异常未能成功返回也不会出发该操作