一、简介
1、Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。
2、Spring Cache利用了AOP,实现了基于注解的缓存功能,并且进行了合理的抽象,业务代码不用关心底层是使用了什么缓存框架,只需要简单地加一个注解,就能实现缓存功能了,做到了对代码侵入性做小。
3、SpringCache框架还提供了CacheManager接口,可以实现降低对各种缓存框架的耦合。
二、Cache 和 CacheManager 接口说明
Cache 接口包含缓存的各种操作集合,操作缓存就是通过这个接口来操作的。
Cache 接口下 Spring 提供了各种实现,比如:RedisCache、EhCache、ConcurrentMapCache
CacheManager 定义了创建、配置、获取、管理和控制多个唯一命名的 Cache。这些 Cache 存在于 CacheManager 的上下文中
三、注解使用
@Cacheable:在方法执行前查看是否有缓存对应的数据,如果有直接返回数据,如果没有调用方法获取数据返回,并缓存起来。
1、@CacheEvict: 将一条或多条数据从缓存中删除。
2、@CachePut:将方法的返回值放到缓存中
3、@EnableCaching:开启缓存注解功能
4、@Caching:组合多个缓存注解;
5、@CacheConfig:统一配置@Cacheable中的value值