Redisson 连接 Redis 失败 报错解决方案

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate org.redisson.api.RedissonClient: Factory method 'redisson' threw exception with message: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379

这个异常的核心原因是:Redisson 客户端无法连接到本地 127.0.0.1:6379 的 Redis 服务,Spring 容器创建 RedissonClient Bean 时失败了。

一、报错完整解读

plaintext

Unable to connect to Redis server: localhost/127.0.0.1:6379

Redisson 尝试连接本地 Redis(默认端口 6379)

连接被拒绝 / 无法建立,最终导致 Bean 创建失败

二、最常见的 4 种原因 + 解决方案

  1. Redis 服务根本没启动(90% 的情况)

排查命令:

Windows:打开命令行,执行 redis-cli,如果提示无法连接就是没启动

Linux/Mac:执行 ps -ef | grep redis,无进程则未启动

启动方式:

Windows:双击 redis-server.exe

Linux/Mac:redis-server /etc/redis/redis.conf

  1. Redis 端口不是 6379 / 地址不是本地

如果你的 Redis:

部署在远程服务器(不是localhost)

端口修改为非 6379(比如 6380)

配置了密码

都会导致连接失败。

解决方案:修改 Redisson 配置文件 / 配置类

① YAML 配置(spring-boot-starter-redisson)

yaml

spring:

redis:

redisson:

单节点配置

singleServerConfig:

address: redis://192.168.1.100:6379 # 你的Redis地址

password: yourRedisPassword # 有密码就填,无密码删除此行

database: 0

② Redisson 配置类(手动创建 Bean)

java

运行

@Configuration

public class RedissonConfig {

@Bean

public RedissonClient redisson() {

Config config = new Config();

// 正确配置Redis地址+端口+密码

config.useSingleServer()

.setAddress("redis://192.168.1.100:6379")

.setPassword("yourRedisPassword") // 无密码删除

.setDatabase(0);

return Redisson.create(config);

}

}

  1. Redis 开启了保护模式 / 绑定 IP 限制

Redis 默认配置 bind 127.0.0.1,只允许本地连接,远程无法访问。

解决方案:修改 redis.conf

注释绑定 IP:# bind 127.0.0.1

关闭保护模式:protected-mode no

重启 Redis 服务

  1. 防火墙 / 安全组拦截了 6379 端口

本地 Windows:关闭防火墙 或 放行 6379 端口

远程服务器(阿里云 / 腾讯云):安全组开放 6379 端口

Linux:执行 firewall-cmd --add-port=6379/tcp --permanent 放行端口

三、快速验证 Redis 是否可连接

执行命令,直接测试连通性:

bash

redis-cli -h 你的Redis地址 -p 端口 -a 密码

示例:redis-cli -h 127.0.0.1 -p 6379

如果能进入 redis> 命令行,说明 Redis 正常,问题出在 Redisson 配置;

如果依然连接失败,说明 Redis 服务 / 网络有问题。

总结

优先检查:Redis 服务是否启动

其次核对:Redisson 配置的地址、端口、密码是否正确

最后排查:防火墙 / 保护模式限制

按照这个顺序排查,100% 能解决这个连接异常。

相关推荐
代码方舟3 小时前
零信任架构实战:基于天远人企关联构建自动化供应链核心企业关联穿透与利益冲突审查网关
java·人工智能·架构·自动化
多弗朗皮卡丘4 小时前
C++的IO流
开发语言·c++·io流·文件io流
liyi_hz20084 小时前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
骑着蜗牛撵大象3274 小时前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate4 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx4 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
鬼手点金5 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
摇滚侠5 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
xiangyun615 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
海鸥-w5 小时前
Redis 配置与排错说明
java·数据库·redis·bootstrap