news 2026/9/3 6:25:16

Spring Boot 集成 Redis 报错 Connection refused ?5 个排查步骤一篇文章搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot 集成 Redis 报错 Connection refused ?5 个排查步骤一篇文章搞定

1. 引言

你是不是也遇到过这种情况:Spring Boot 项目里明明写了 Redis 配置,启动时却报Connection refused: localhost/127.0.0.1:6379,翻遍博客也没找到能直接照做的答案?

别慌,这个报错 90% 是环境或配置问题,跟代码关系不大。本文用 5 个排查步骤,从现象、原因到解决,带你一步步定位并修复,全程附可复制代码,照着做就能跑通。

2. 报错现象

先看最常见的报错长什么样。启动 Spring Boot 项目时,控制台输出类似:

org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost/127.0.0.1:6379 Caused by: java.net.ConnectException: Connection refused: localhost/127.0.0.1:6379

关键信息就一句话:程序连不上localhost:6379这个地址。下面按步骤排查。

3. 5 个排查步骤

3.1 第一步:确认 Redis 服务是否启动

Connection refused最常见的原因就是 Redis 服务根本没跑起来。

在命令行执行:

redis-cliping
  • 返回PONG:服务正常,跳到第 2 步;
  • Could not connect to Redis at 127.0.0.1:6379: Connection refused:服务未启动,执行启动命令:
# macOS / Linuxredis-server# Windows(若用 WSL 或 Docker 则按对应方式)redis-server.exe

启动后再执行redis-cli ping,确认返回PONG

3.2 第二步:核对连接地址与端口

服务启动了还连不上?检查 Spring Boot 配置里的地址和端口是否与 Redis 实际监听一致。

# application.ymlspring:data:redis:host:localhostport:6379# 有密码就填,没有就删掉这行password:yourpassword

用下面命令查看 Redis 实际监听端口:

redis-cli-p6379info server|greptcp_port

如果端口不一致(比如 Redis 跑在 6380),把配置改成对应端口即可。

3.3 第三步:检查 Redis 是否绑定在 127.0.0.1

Redis 默认只监听本机回环地址。如果项目部署在 Docker 或远程服务器,需要确认绑定地址。

查看 Redis 配置:

redis-cli config getbind
  • 输出127.0.0.1:只允许本机访问,远程连不上;
  • 需要远程访问时,修改redis.conf
bind 0.0.0.0 protected-mode no

注意:生产环境开放远程访问务必设置强密码,否则极易被攻击。

3.4 第四步:确认密码是否匹配

配置了密码但没填,或密码填错,也会导致连接失败(报错通常是NOAUTH Authentication required)。

application.yml中补上密码:

spring:data:redis:password:yourpassword

命令行验证密码是否正确:

redis-cli-ayourpasswordping

返回PONG即密码正确。

3.5 第五步:检查防火墙与网络

本地都正常、但部署到服务器后连不上,多半是防火墙或安全组拦截了 6379 端口。

# 查看端口是否被监听netstat-tlnp|grep6379# 放行端口(CentOS / Ubuntu 示例)sudofirewall-cmd --add-port=6379/tcp--permanentsudofirewall-cmd--reload

云服务器(阿里云、腾讯云等)还需在控制台安全组中放行 6379 入方向规则。

4. 完整可运行示例

下面是一个最小可运行的 Spring Boot + Redis 示例,验证连接是否正常。

importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.StringRedisTemplate;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassRedisController{@AutowiredprivateStringRedisTemplateredisTemplate;@GetMapping("/redis/test")publicStringtest(){redisTemplate.opsForValue().set("hello","world");return"写入成功,读取值:"+redisTemplate.opsForValue().get("hello");}}

启动项目后访问http://localhost:8080/redis/test,看到写入成功,读取值:world即表示连接正常。

5. 排查思路小结

步骤检查项常见原因解决方式
1服务是否启动Redis 未运行redis-server启动
2地址与端口配置与监听不一致修改application.yml
3绑定地址仅监听 127.0.0.1修改bind配置
4密码未填或填错补全password
5防火墙/安全组6379 被拦截放行端口

6. 总结

Connection refused并不可怕,按「服务 → 地址端口 → 绑定 → 密码 → 防火墙」的顺序排查,绝大多数问题都能在 5 分钟内定位。

你最近还遇到过哪些 Redis 连接相关的坑?欢迎在评论区留言,下一篇可以继续拆解NOAUTH、超时等高频问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 6:24:30

基于微信小程序的高尔夫球场管理系统的设计与实现(程序+文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/9/3 6:24:19

CBTC信号系统安全:一文讲透车载ATP认证与信号系统访问控制,收藏这篇就够了

地铁车辆段信号车间,凌晨两点的作业窗口。工班长把维护 UKey 插进 ATS 维护工作站,输入口令,屏幕弹出一个账号下拉框——这个账号是五家厂商驻场工程师共用的。旁边那台给车载 VOBC 灌升级包的电脑,U 盘拷进去直接刷,没人校验签名。信号是 SIL4 的安全系统,可管着它的人,认证还…

作者头像 李华
网站建设 2026/9/3 6:23:34

C++逆向工程:深入解析条件判断的底层实现与实战修改

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 6:22:07

2026年电赛预测:AIoT、RISC-V与嵌入式系统设计备赛指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 6:19:08

C++大型项目工程精讲:CMake完整实战、静态库动态库、模块化拆分、单元测试、gdb调试、性能工具、工程踩坑全解

前言 前面我们完成了高并发 WebServer 网络项目,代码全部堆在少量头文件与源文件中。 真实企业 C 后端项目不会把全部代码写在少数几个文件,需要:模块化拆分、库封装、构建管理、单元测试、调试定位 bug、性能分析。 聚焦C 工程化能力&…

作者头像 李华
网站建设 2026/9/3 6:16:42

STM32 SPI+DMA高效驱动WS2812B LED灯带:原理、代码与避坑指南

简介:本资源是面向STM32F103C8T6初学者与嵌入式进阶开发者的WS2812B灯带高效驱动方案,聚焦解决传统GPIO模拟时序响应慢、CPU占用高、易受中断干扰等痛点。采用SPIDMA硬件协同方式精准复现WS2812B单线归零码时序,显著提升刷新率与稳定性&#…

作者头像 李华