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序列化策略;
参考资料: