Cache* 注解中未提到的元素
共同的:
- keyGenerator: 实现
org.springframework.cache.interceptor.KeyGenerator
接口的类bean,用于统一自定义生成key
- cacheManager: 用于选择使用哪个cacheManager
- cacheResolver: 实现
org.springframework.cache.interceptor.CacheResolver
接口的类bean,用于自定义如何处理缓存
CacheEvict:
- beforeInvocation: bool值,标志是否在调用前就清除缓存。防止方法因为异常意外退出。
Cacheable:
- sync: 是否同步 从相同key加载值 的方法,原文为:
Synchronize the invocation of the underlying method if several threads are
attempting to load a value for the same key
如何同步加载缓存,具体需要看CacheManager的实现。(2019年10月11日 此部分在https://www.cnblogs.com/imyijie/p/11651679.html SpringCache - 请求级别缓存的简易实现 有进一步的讨论)