第一步:首先加入两个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
第二步:在application配置文件中 对redis进行配置
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
第三步:添加一个配置文件
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import java.time.Duration;
/**
* 缓存的配置类
*/
@Configuration
@EnableCaching
public class CachingConfig {
@Bean
public RedisCacheManager redisCacheManager(RedisConnectionFactory connectionFactory){
RedisCacheWriter redisCacheWriter = RedisCacheWriter
.lockingRedisCacheWriter(connectionFactory);
RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig();
cacheConfiguration = cacheConfiguration.entryTtl(Duration.ofSeconds(30));
RedisCacheManager redisCacheManager = new RedisCacheManager(redisCacheWriter,
cacheConfiguration);
return redisCacheManager;
}
}
第四步:在启动类上加注解
@EnableCaching
代表开启缓存
第五步:在需要缓存的方法上加注解,加在实现类方法上面
@Cacheable(value = "listCategoryForCustomer") value就是存储在redis时的key值
第六步:测试
注意:如果启动的时候报异常,很大可能是因为你的实体类没有序列化,在实体类上加
implements Serializabl 再重新运行
我们第一次运行的时候需要花很长一段时间,如下图
然后进行第二次访问时,速度就大大提升了
此时也可以看到我们的redis中已经有key值存在了