【问题标题】:Unable to connect to Redis;nested exception is io.lettuce.core.RedisConnectionException using RedisTempalte无法连接到 Redis;嵌套异常是 io.lettuce.core.RedisConnectionException 使用 RedisTempalte
【发布时间】:2026-01-19 20:20:03
【问题描述】:
当我尝试从我的 spring 响应式应用程序连接 azure redis 缓存时,无法连接到 Redis;嵌套异常是 io.lettuce.core.RedisConnectionException using RedisTempalte 错误。
我已经在属性文件下面配置了
spring.redis.host=hostName
spring.redis.port=6379
spring.redis.password=password
还尝试使用 LettuceConnectionFactory 进行基于 java 的配置
【问题讨论】:
标签:
java
azure-redis-cache
spring-reactive
【解决方案1】:
我在 AWS ElastiCache 中启用密码身份验证时遇到了同样的问题,因为 Redis 客户端没有使用 SSL。
Bellow RedisConfig.java 使用 SSL 连接,我的错误消失了。顺便说一句,我正在使用 Spring Reactive。
@Configuration
@ConfigurationProperties(prefix = "spring.redis")
@Setter
public class RedisConfig {
private String host;
private String password;
@Bean
@Primary
public ReactiveRedisConnectionFactory reactiveRedisConnectionFactory(RedisConfiguration defaultRedisConfig) {
LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
.useSsl().and()
.commandTimeout(Duration.ofMillis(60000)).build();
return new LettuceConnectionFactory(defaultRedisConfig, clientConfig);
}
@Bean
public RedisConfiguration defaultRedisConfig() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(host);
config.setPassword(RedisPassword.of(password));
return config;
}
}