Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、 Hazelcast、 Guava、 Redis 等。在使用 Spring 集成 Cache 的时候,我们需要注册实现的 CacheManager 的 Bean。Spring Boot 为我们自动配置了 JcacheCacheConfiguration、 EhCacheCacheConfiguration、HazelcastCacheConfiguration、GuavaCacheConfiguration、RedisCacheConfiguration、SimpleCacheConfiguration 等。
默认使用 ConcurrenMapCacheManager
在我们不使用其他第三方缓存依赖的时候,springboot自动采用ConcurrenMapCacheManager作为缓存管理器。
环境依赖
在pom文件引入spring-boot-starter-cache环境依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>
1.在 Spring Boot 中使用 @EnableCaching 开启缓存支持。
2.@Cacheable 在查询方法上添加,查询的时候会先查缓存,如果缓存中没有则调执行方法体查询。
3.@CachePut 在新增和修改方法上添加。都会将方法的返回值放到缓存中, 主要用于数据新增和修改方法。
4.@CacheEvict 将一条或多条数据从缓存中删除, 主要用于删除方法,用来从缓存中移除相应数据。
5.设置缓存过期时间
@Cacheable(value = “example#${select.cache.timeout:1000}”, key = “”)//example 是cache容器名字 #后边的是SpEL表达式