Mac系统下Spring Boot Maven项目启动无法连接Redis报错求助
Spring Boot Mac环境Redis连接失败排查方案
1. 确认Redis服务真实运行状态
你所说的6379端口未被占用恰恰说明Redis服务没有正常启动,正常运行的Redis默认会占用6379端口,大概率是你查端口的命令使用有误:
- 执行正确的端口检查命令:
lsof -i:6379,如果没有输出内容则说明Redis确实没有启动 - 如果你是通过Homebrew安装的Redis,执行启动命令:
brew services start redis,启动后再执行上述端口检查命令确认 - 如果你是手动下载安装的Redis,进入Redis安装目录的bin文件夹,执行
./redis-server ../redis.conf后台启动服务
2. 本地直连验证Redis连通性
服务启动后先跳过Spring Boot,直接用官方客户端验证连通性:
- 执行
redis-cli -h 127.0.0.1 -p 6379进入交互终端 - 输入
ping命令,返回PONG说明服务正常可连接 - 如果你之前给Redis设置过密码,执行
auth 你的密码验证,确认密码是否和配置文件中一致 - 如果直连都失败,检查Redis配置文件(brew安装默认路径
/usr/local/etc/redis.conf)的两个配置项:bind 127.0.0.1确保绑定了本地回环地址protected-mode no本地开发可以先关闭保护模式避免权限拦截
3. 排查Spring Boot配置隐性问题
从你提供的配置来看有两个易踩的坑:
spring.redis.port=6379后面有多余空格,删除行尾空格,避免配置解析错误spring.redis.password=这行可以直接删除,部分Spring Boot版本对显式配置空密码的处理存在兼容问题,不配默认就是无密码连接- 如果你没有特殊需求,可以暂时注释掉lettuce连接池相关配置,先验证基础连接是否正常
4. Mac环境专属问题排查
- 检查系统防火墙是否拦截了6379端口:打开【系统设置】-【网络】-【防火墙】,确认没有禁止Redis相关进程的网络请求,本地开发可以临时关闭防火墙测试
- 如果你是用Docker运行的Redis,确认启动时做了端口映射:
docker run -d -p 6379:6379 redis,否则容器内的端口不会暴露到宿主机 - 排查IPv6解析问题:可以尝试把
spring.redis.host的值改为localhost,或者在hosts文件中确认127.0.0.1绑定的域名没有异常
内容的提问来源于stack exchange,提问作者flyhawk
相关产品推荐
相关产品推荐

