springboot 单机redis 使用 redisconnectionFactory 导致报错ClusterHostAndPorts must not be null!
时间: 2024-03-01 18:54:24 浏览: 76
如果在使用 `RedisConnectionFactory` 连接 Redis 时出现了 `ClusterHostAndPorts must not be null!` 的错误,可能是因为 `RedisConnectionFactory` 默认是连接 Redis 集群的,而不是单机 Redis。
解决这个问题的方法是在 `RedisConnectionFactory` 的 Bean 配置中指定 `RedisStandaloneConfiguration`,代码如下:
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
@Configuration
public class RedisConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration redisConfiguration = new RedisStandaloneConfiguration("localhost", 6379);
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisConfiguration);
return lettuceConnectionFactory;
}
}
```
在上述代码中,我们创建了一个 `RedisStandaloneConfiguration` 对象,并指定了 Redis 服务器的主机名和端口号,然后将该对象传递给 `LettuceConnectionFactory` 的构造函数中,以构建一个单机 Redis 连接工厂。
这样配置之后,就能够正常连接 Redis 了。
阅读全文