Spring定义了org.springframework.cache.CacheManager和org.springframework.cache.Cache接口用来统一不
同的缓存技术。其中,CacheManager是Spring提供的各种缓存技术抽象接口,Cache接口包含缓存的各种操作(增
删改查,我们一般不会直接和此接口打交道)。
针对不同的缓存技术,是需要实现不同的CacheManager,Spring定义了如下表所示的CacheManager实现:
-
CacheManager 描述 SimpleCacheManager 使用简单的Collection来存储缓存,主要用来测试用途 ConcurrentMapCacheManager 使用ConcurrentMap来存储 NoOpCacheManager 仅测试用途,不会市级存储缓存 EhCacheCacheManager 使用EhCache作为缓存技术 GuavaCacheManager 使用Google Guava的GuavaCache作为缓存技术 HazelcastCacheManager 使用Hazelcast作为缓存技术 JCacheCacheManager 支持JCache(JSR-107)标准的实现作为缓存技术,如Apache Commons JCS RedisCacheManager 使用Redis作为缓存技术
Spring Boot的支持:
在Spring Boot中使用缓存时,CacheManager是自动配置的,只需要导入相关的缓存技术的依赖包,并在配置
类上使用@EnableCaching开启缓存技术支持即可。缓存配置如下:
spring.cache.type= #可选generic,ehcache,hazelcast,infinispan,jcache,redis,guava,simple, none
spring.cache.cache-names= #程序启动时创建缓存名称
spring.cache.ehcache.config= #ehcache配置文件地址
spring.cache.hazelcast.config= #hazelcast配置文件地址
spring.cache.infinispan.config= #infinispan配置文件地址
spring.cache