springbootredis配置(springbootredis配置文件)
简介:
Spring Boot 是一款极其方便开发的 Java 框架,而 Redis 则是开发中经常使用的一种高速缓存技术。本文将详细介绍如何在 Spring Boot 中配置 Redis。
多级标题:
一、引入 Redis 相关依赖
二、配置 RedisTemplate 和 RedisConnectionFactory
三、配置 Redis Cache Manager
四、使用 Redis 进行缓存操作
内容详细说明:
一、引入 Redis 相关依赖
我们需要在 pom.xml 文件中引入 Spring Boot 对 Redis 的支持,通常包括以下两个依赖:
```
```
二、配置 RedisTemplate 和 RedisConnectionFactory
Spring Boot 提供了 RedisTemplate 和 RedisConnectionFactory 两个类来支持对 Redis 的操作。
在 application.properties(或 application.yml)文件中添加以下 Redis 连接信息:
```
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
```
在 Spring Boot 的启动类中进行以下配置:
```
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate
RedisTemplate
template.setConnectionFactory(factory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.afterPropertiesSet();
return template;
}
@Bean
public RedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName("127.0.0.1");
jedisConnectionFactory.setPort(6379);
return jedisConnectionFactory;
}
```
三、配置 Redis Cache Manager
在 Spring Boot 中,配置 Redis 来作为缓存还需要配置 Redis Cache Manager。
在 Spring 启动类中添加以下代码:
```
@EnableCaching
@Configuration
public class CachingConfig {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public CacheManager cacheManager() {
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
.entryTtl(Duration.ofMinutes(1))
.disableCachingNullValues()
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
.prefixKeysWith("key_prefix:");
return RedisCacheManager.builder(redisConnectionFactory)
.cacheDefaults(redisCacheConfiguration)
.build();
}
```
四、使用 Redis 进行缓存操作
现在我们已经完成了 Redis 在 Spring Boot 中的配置,现在就可以通过代码对 Redis 进行缓存操作了。
在需要进行缓存操作的类中自动注入 RedisTemplate 对象:
```
@Autowired
private RedisTemplate
```
通过 redisTemplate 对象我们可以进行缓存操作,例如添加缓存:
```
ValueOperations
ops.set("key", "value", 10, TimeUnit.MINUTES);
```
以上代码将在 Redis 中添加一个 key 为 "key" 的缓存,值为 "value",过期时间为 10 分钟。
由于 Spring Boot 对 Redis 的封装,我们可以非常方便地进行 Redis 缓存的使用,提升应用程序的效率和响应速度。