【问题标题】: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;
    }
}

【讨论】: