1. JSR107
- Java Caching 定义了5个核心接口:
CachingProvider
:定义了创建,配置,获取,管理和控制多个CacheManager;CacheManager
:定义了创建,配置,获取,管理和控制多个唯一命名的Cache;Cache
:一个类似Map的数据结构并临时存储以Key为索引的值;Entry
:一个存储在Cache中的key-value对;- Expiry:每一个存储在Cache中的条目有一个定义的有效期;
2. Spring缓存抽象
Cache
:缓存接口,定义缓存操作;实现有:RedisCache,EhCacheCache,CocurrentMapCache等;CacheManager
:缓存管理器,管理各种缓存(Cache)组件;@Cacheable
:主要针对方法配置,能够根据方法的请求参数对其结果进行缓存;@CacheEvict
:清空缓存;@CachePut
:保证方法被调用,又希望结果被缓存(更新缓存);@EnableCaching
:开启基于注解的缓存;@keyGenerator
:缓存数据时,key生成策略;@serialize
:缓存数据时,value序列化策略;
参考资料: