总结一下 cache中的注解
org.springframework.cache.annotation.EnableCaching
开启缓存
org.springframework.cache.annotation.Cacheable
如果缓存有值就去缓存,否则执行方法逻辑存入缓存。
org.springframework.cache.annotation.CacheEvict
从缓存中驱逐,例如数据项被删除或者数据项被更新时使用,避免缓存时脏数据。
org.springframework.cache.annotation.CachePut
使用标记方法的返回值更新缓存(无论缓存是否存在)。
org.springframework.cache.annotation.Caching
spring在处理cache过程中如下:CacheEvict(beforeInvocation = true)、 Cacheable、CachePut、CacheEvict(beforeInvocation = false)
caching只是对Cacheable、CacheEvict、CachePut的组合,在使用过程中考虑清楚自己是否需要这样的组合即可
org.springframework.cache.annotation.CacheConfig
CacheConfig作用在类上,为类中的方法提供统一缓存配置