SpringBoot整合redis连接异常:org.springframework.data.redis.connection.PoolException:

SpringBoot整合redis使用redisTemplate出现异常org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.xxx.xxx.xxx:6379,redis安装在虚拟机中的Linux,尝试了许多帖子的解决方案都没成功,但也记录一下,最后也找到了自己出现异常的地方后成功解决。

1 依赖不兼容:redis7.04版本及springboot框架引用redis框架的lectture-core依赖版本太低出现不兼容问题。解决如下:

这是我springBoot的版本

相对应的lectture-core版本

2 application.yml中有关redis的配置信息如主机名、端口号正确配置

3 Linux中防火墙关闭或redis服务端的端口是开放的,可通过以下命令测试

在防火墙关闭时仍然不能连接端口,参照https://blog.51cto.com/u_11461281/2179025

4 redis配置文件注释掉bind 127.0.0.1以及将protected-mode yes改为no

5 正确指定启动redis的配置文件(我最后的错误),我是在linux中任意目录下使用redis-server /myredis/redis.conf(redis.conf在我机子中的副本)启动redis服务,但redis仍然使用的是原redis.conf文件,而原配置文件没有经过4中的修改,所以无法连接,最后是到myredis目录下启动redis服务端才能连接redis

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 无法连接Redis;嵌套异常org.springframework.data.redis.connection.poolexception:无法从池中获取资源;嵌套异常是io.lettuce.core.redisconnectionexception:无法连接到127...1:6379。 ### 回答2: 这个错误是指与 Redis 数据库连接时出现了问题。具体来说,问题可能是无法获取资源池中的资源,或者连接 Redis 数据库时出现了连接异常。 出现这个错误可能有多种原因。一种可能是由于 Redis 数据库本身出现了问题,比如它没有启动或者它的某些配置信息不正确。另一种可能是由于连接 Redis 数据库的应用程序出现了问题,比如它没有正确地配置连接池或者它的网络设置不正确。 为了解决这个问题,你可以尝试下列步骤: 1. 确保 Redis 数据库已经启动并且正常工作。你可以使用 Redis 自带的客户端工具 redis-cli 来测试一下 Redis 是否可以正常工作。 2. 检查应用程序的连接池配置是否正确。连接池通常会限制连接数量,当连接池达到极限时,就会出现无法获取资源的情况。你可以查看连接池配置文件,确认其中的参数是否合理。 3. 检查应用程序的网络设置是否正确。比如,应用程序需要能够访问 Redis 数据库所在的主机,并且必须与 Redis 数据库的端口相对应。 4. 如果问题仍然存在,可以尝试使用其它 Redis 客户端实现来连接 Redis 数据库,看看是否能够成功连接。你可以使用 jedis 或 Lettuce 客户端来测试一下。如果其它客户端可以正常连接,那么说明问题不在 Redis 数据库本身。反之,则需要进一步排查 Redis 数据库的问题。 5. 最后,你可以查看应用程序日志,看看是否有其它有用的信息可以提供帮助。日志通常会记录每次连接 Redis 数据库的详细信息,包括错误码和错误信息。 ### 回答3: 这个错误提示是出现在使用Redis缓存时连接错误的信息。其中“unable to connect to redis”意味着程序无法连接Redis服务端,而“could not get a resource from the pool”则表示从连接池中无法获取资源,进而出现了“io.lettuce.core.redisconnectionexception: unable to connect to 127.0.0.1:6379”错误。 这个错误可能有多种原因,包括Redis服务器未启动、网络连接问题、Redis配置错误、Redis连接池满负荷或错误使用Redis连接池等。解决这个问题的方法可以包括以下几个方面。 首先需要确认Redis服务器是否已经正确地启动。如果Redis服务未启动,需要通过启动服务程序来启动Redis。如果Redis服务已经启动,那么需要进一步确认网络连接是否正常,以及Redis的配置是否正确,包括Redis的端口和密码是否正确设置。 另外,连接池满负荷或错误使用Redis连接池也可能导致连接失败。需要检查Redis连接池的设置,例如最大连接数、超时时间、等待时间,以及连接池中的连接是否被正确地释放。 当然,在出现连接失败的情况下,也可以通过调整程序中的Redis连接参数来解决问题。例如,可以尝试修改Redis连接超时时间或者重试次数等参数,以便更好地适应当前的网络环境和Redis服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值