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

本文介绍了Spring Boot如何集成和使用缓存,以Redis和EhCache为例。首先,文章讲解了引入Redis依赖并启动缓存的步骤,接着展示了在接口上使用@Cacheable注解实现数据缓存。通过测试,证明了缓存的正确工作,如保存和查询用户时的缓存行为。此外,还详细说明了如何切换到EhCache,并配置相应的ehcache.xml文件。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



