- Spring boot Caffeine缓存(一)——CacheManager与配置文件
- Spring boot Caffeine缓存(二)——Cache、LoadingCache
- Spring boot Caffeine缓存(三)——使用注解
注解在Spring中的应用很广泛,几乎成为了其标志,这里说下使用注解来集成缓存。
cache方面的注解主要有以下5个
- @Cacheable 触发缓存入口(这里一般放在创建和获取的方法上)
- @CacheEvict 触发缓存的eviction(用于删除的方法上)
- @CachePut 更新缓存且不影响方法执行(用于修改的方法上,该注解下的方法始终会被执行)
- @Caching 将多个缓存组合在一个方法上(该注解可以允许一个方法同时设置多个注解)
- @CacheConfig 在类级别设置一些缓存相关的共同配置(与其它缓存配合使用)
上边5个注解中目前我学习的时候使用了前三个,所以这里主要针对前三个来展开,后边两个结合spring官方文档来简单介绍下。
@Cacheable
先看看它的源码
public @interface Cacheable {
/**
* 设定要使用的cache的名字,必须提前定义好缓存
*/
@AliasFor("cacheNames")
String[] value() default {};
/**
* 同value(),决定要使用那个/些缓存
*/
@AliasFor("value")
String[] cacheNames() default {};
/**
* 使用SpEL表达式来设定缓存的key,如果不设置默认方法上所有参数都会作为key的一部分
*/
String key() default "";
/**
* 用来生成key,与key()不可以共用
*/
String keyGenerator() default "";
/**
* 设定要使用的cacheManager,必须先设置好cacheManager的bean,这是使用该bean的名字
*/
String cacheManager() default "";
/**
* 使用cacheResolver来设定使用的缓存,用法同cacheManager,但是与cacheManager不可以同时使用
*/
String cacheResolver(