1、Spring Cache 的使用
-
@Cacheable 注解
主要针对方法配置,能够根据方法的请求参数对其结果进行缓存,只有使用public定义的方法才可以被缓存,而 private 方法、protected 方法或者使用 default 修饰符的方法都不能被缓存, 当在一个类上使用注解时,该类中每个公共方法的返回值都将被缓存到指定的缓存项中或者从中移除
cacheNames / value:用于指定缓存存储的集合名
key:缓存对象存储在Map集合中的key值,非必需,缺省按照函数的所有参数组合作为key值,若自己配置需使用SpringEL表达式
@Cacheable(key = "#p0") //使用函数第一个参数作为缓存的key值
condition:缓存对象的条件,非必需,也需使用SpringEL表达式,只有满足表达式条件的内容才会被缓存
// 表示只有当第一个参数的长度小于3的时候才会被缓存 @Cacheable(key = "#p0", condition = "#p0.length() < 3")
unless:另外一个缓存条件参数,非必需,需使用SpringEL表达式。它不同于condition参数的地方在于它的判断时机,该条件是在函数被调用之