缓存
①JSR107规范:用的少,复杂
②Spring缓存抽象:从3.1开始,定义了org.springframework.cache.Cache和CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化开发
③重要的概念
Cache: 缓存接口,定义缓存操作。实现有:RedisCache、EhCacheCache、ConcurrentMapCache等
CacheManager: 缓存管理器,管理各种缓存(Cache)组件
@Cacheable: 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存
@CacheEvict: 清空缓存
@CachePut: 保证方法被调用,又希望结果被缓存(update)。
@EnableCaching: 开启基于注解的缓存
keyGenerator: 缓存数据时key生成策略
serialize: 缓存数据时value序列化策略
④@Caching:定制复杂缓存规则
⑤@CacheConfig:定义在类上,定义公共配置
⑥数据保存在ConcurrentMap中
redis
①starter
②序列化机制:Jackson2
③缓存配置起用会生成如RedisCaCheManager管理器,管理器创建RedisCache作为缓存组件;其它配置文件判断已经有管理器则不会再生效了