SpringBoot连接不上redis解决方案。

SpringBoot连接redis问题排查与解决
本文介绍了当SpringBoot无法连接到redis时的解决方案,包括确认redis是否已启动、检查redis配置文件以及审查SpringBoot的application.properties配置。通过检查redis服务状态、修改redis.conf的protected-mode设置、确保正确配置服务器地址以及处理防火墙端口限制,可以解决连接拒绝和无法连接的问题。
部署运行你感兴趣的模型镜像

今天使用springboot的时候,想要整合redis做下测试,却怎么都连不上redis。要不就是拒绝访问,要不就是直接连接不上(具体的错误截图忘了截)但只要是这两种原因,那么下边的解决方案应该是都可以解决。下边是针对这两种问题的解决方案。

❤首先第一步要确认redis有没有开启,如果安装在linux下的话使用ps -ef | grep redis来确认

在这里插入图片描述
图片显示表示已经开启,如果没有开启的话。按照下边命令操作开启redis。

在这里插入图片描述

❤接着找到redis的配置文件redis.conf。

直接进入redis在linux下的安装目录,一般默认安装在/usr/local下

cd /usr/local/redis

直接进入配置文件:

vim redis.conf

找到 protected-mode no,修改成yes

protected-mode  no  →  protected-mode  yes
注释掉bin 127.0.0.1  →  # 127.0.0.1

然后保存退出,在src文件夹下输出命令

./redis-server ../redis.conf来使用redis配置开启redis,说白了就是让配置生效

❤排除我们的springboot 的配置文件application.properties没有问题。

这边尤其要注意的是你的redis的服务器地址的配置,如果你redis安装在虚拟机里就是你虚拟机的ipv4地址,安装在主机下就是主机的地址,这个填错肯定100%连不了。

#reids的连接信息
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=192.168.0.103
# Redis服务器连接端口
spring.redis.port=6379
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000

如果上边三步都做了还是不行的话,那么就尝试关闭虚拟机的防火墙,或者在防火墙中添加放行的端口。因为关闭防火墙就可以进行外部访问,不受端口限制。如果个人电脑可以直接关闭虚拟机的防火墙,也可以开启防火墙,放行部分端口,具体操作如下

永久有效

开启: chkconfig iptables on 
关闭: chkconfig iptables off

即刻生效

开启: service iptables start 
关闭: service iptables stop 

放行部分端口的操作如下:

vim /etc/sysconfig/iptables 进入配置文件

添加想要开启的端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

service iptables restart 

这三步是针对springboot使用redis时,连接不上和拒绝访问的解决方案。其他错误可以自行百度。

您可能感兴趣的与本文相关的镜像

Langchain-Chatchat

Langchain-Chatchat

AI应用
Langchain

Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型和 Langchain 应用框架实现的开源项目,旨在构建一个可以离线部署的本地知识库问答系统。它通过检索增强生成 (RAG) 的方法,让用户能够以自然语言与本地文件、数据库或搜索引擎进行交互,并支持多种大模型和向量数据库的集成,以及提供 WebUI 和 API 服务

### Spring Boot 连接 Redis 的常见故障排查及解决方案 #### 一、确认配置文件设置无误 确保 `application.properties` 或者 `application.yml` 文件中的 Redis 配置项正确无误。对于远程服务器上的 Redis 实例,需特别留意主机名(host)、端口号(port),以及密码(password)等参数是否填写准确[^1]。 ```yaml spring: redis: host: localhost port: 6379 password: your_password_here ``` #### 二、验证网络连通性 如果Redis实例位于同的物理位置或者云环境中,则要测试客户端机器到目标地址之间的TCP/IP可达性和防火墙策略开放情况。可以利用命令行工具telnet来简单检测一下能否成功建立连接。 #### 三、调整最大连接数限制 当应用程序频繁创建新的Jedis对象而未及时释放资源时,可能会造成大量闲置连接积压,最终触发Redis的最大并发量阈值从而拒绝新请求。此时应该考虑优化业务逻辑减少必要的短生命周期会话;另外也可以适当提高server.maxclients数值以适应更高的负载需求[^2]。 #### 四、检查依赖库兼容性 同版本间的API变更可能引起匹配错误,因此建议开发者依据所使用的SpringBoot版本选用相适配的数据访问组件。例如,在较早时期项目里应当引入名为`spring-boot-starter-redis`的starter包,而在后续迭代中则更推荐采用功能更为全面的`spring-boot-starter-data-redis`替代品[^4]。 #### 五、启用日志记录辅助诊断 通过修改logback.xml或者其他形式的日志框架配置文档,增加关于Redis操作层面的信息级别至DEBUG甚至TRACE级,以便于收集更多上下文线索帮助定位具体异常点所在之处。 ```xml <logger name="org.springframework.data.redis" level="DEBUG"/> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值