You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacBook M1(Sonoma14.0)运行Spring Boot时出现Redis启动异常

解决Spring Boot无法连接Redis但工具可正常访问的问题

排查方向与解决方案

1. 禁用Spring Boot的嵌入式Redis自动启动

这个报错大概率是因为Spring Boot被配置为自动启动嵌入式Redis实例,而非连接外部已运行的Redis。

  • 在application.properties或application.yml中添加配置禁用自动启动:
    spring.redis.embedded.enabled=false
    
  • 检查项目依赖(pom.xml/build.gradle),如果存在embedded-redis相关依赖(如it.ozimov:embedded-redis),直接移除该依赖,避免框架尝试启动本地Redis服务。

2. 修正Redis连接配置

确保Spring Boot的Redis配置与实际运行的服务完全匹配:

  • 基础配置示例:
    spring.redis.host=localhost
    spring.redis.port=6379
    # 若Redis设置了密码,补充:
    spring.redis.password=your-redis-password
    
  • 若使用Docker运行Redis,Mac M1上需注意网络映射,将host改为host.docker.internal(Docker的本地主机映射地址),避免localhost无法穿透容器网络。

3. 校验Redis客户端依赖兼容性

Spring Boot版本与Redis客户端(Lettuce/Jedis)版本不匹配可能导致连接异常:

  • 优先使用Spring Boot官方管理的依赖,避免手动指定客户端版本:
    <!-- pom.xml示例 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    
  • 若手动引入了Lettuce/Jedis,确保版本与当前Spring Boot版本兼容(如Spring Boot 3.x需搭配Lettuce 6.x+)。

4. 调整Redis服务的网络配置

检查Redis服务的redis.conf配置,确保允许外部连接:

  • 将bind配置改为bind 0.0.0.0(开发环境临时使用,允许所有IP访问);
  • 设置protected-mode no,关闭Redis的保护模式,避免IP限制导致连接失败。

5. 开启详细日志排查

虽然Redis进程日志为空,但可以开启Spring Boot的Redis客户端日志,获取连接失败的具体原因:

logging.level.io.lettuce=DEBUG
logging.level.org.springframework.data.redis=DEBUG

启动应用后查看控制台日志,定位连接超时、认证失败等具体异常信息。

内容的提问来源于stack exchange,提问作者Tajib Smajlović

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 10:25:06