文章目录
实际业务开发中,免不了会使用redis作为缓存,加快接口响应速度。一个典型的场景:前端请求到后端服务时,后端服务先查询redis缓存,如果查到则使用缓存数据,否则再查mysql数据库,完后放到redis中。
上面场景一般的实现过程,一般的都是:
//1.查询redis
//2.判断redis结果是否为空
//3.如果为空,则继续查mysql数据库
//4.mysql的结果放到redis中
//5.返回结果
上述步骤是比较繁琐的,也不优雅,我们可以使 用spring的@Cacheable、@CacheEvict、@CachePut 等注解来更优雅的实现上述过程。
一. 环境准备
1.1 引入redis starter依赖
因为是基于redis的缓存,因此要引入redis的依赖,外加redis基础配置,这个步骤就不详细展开了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
1.2 配置CacheManager
需要特别注意,此配置是对于springboot2.x版本和1.x,配置是完全不同的。
1.2.1 springboot2.x
@EnableCaching
@Configuration
public class RedisConfig {
@Bean("10m")
public CacheManager cacheManager10m(RedisConnectionFactory redisConnectionFactory) {
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration
.defaultCacheConfig()
.entryTtl(Duration.ofMinutes(10))
//替换原来的cache name
// .prefixKeysWith("QQQQ")
.computePrefixWith(cacheName -> "yourappname".concat(":").concat(cacheName).concat(":"))
.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
return RedisCacheManager
.builder(RedisCache

本文详细介绍如何在Spring Boot项目中使用Redis作为缓存,包括环境配置、使用@Cacheable、@CachePut、@CacheEvict注解进行高效缓存管理。
最低0.47元/天 解锁文章
196





