本地连接远程redis(nested exception is io.lettuce.core.RedisConnectionException: Unable to )

问题(redis.connection.PoolException: Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 4.190..:6379] with root cause)

解决

编辑redis.conf

vim /etc/redis.conf
  1. bind 127.0.0.1 注释掉
    在这里插入图片描述

  2. 设置 daemonize 改为no
    在这里插入图片描述

  3. 设置protected-mode 改为no

在这里插入图片描述
4. 重启redis

systemctl restart redis
### Redis连接池无法获取资源的原因分析 当遇到`org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool`异常时,通常意味着应用程序尝试从Redis连接池中获取连接失败。这可能是由于多种原因引起的。 #### 配置问题 如果Spring Boot应用的YAML配置文件存在错误,则可能导致连接建立失败。例如,在指定主机名、端口号或者认证凭证时不准确会引发此类问题[^2]。对于未配置默认用户的密码却调用了AUTH命令的情况,也会抛出类似的异常信息。 #### 连接池参数不合理 不合理的连接池设置同样会影响可用性的获得。比如最大活跃连接数(`max-active`)过低不足以支撑并发请求;最长等待时间(`max-wait`)设得太短使得线程在短时间内得不到响应就会放弃排队而直接返回错误给上层业务逻辑处理;还有就是闲置连接数量控制不当(`min-idle`, `max-idle`)造成频繁创建销毁物理socket对象增加系统开销降低效率等问题都可以通过调整这些属性来优化性能表现并减少故障发生的几率[^3]。 #### 密码验证失败 另外一种常见的情形是在客户端指定了密码但是服务器端并没有开启相应的保护机制或者是两者之间所使用的密钥并不匹配从而引起握手阶段就中断的现象发生。确保双方保持一致非常重要,可以通过修改配置项或重置服务端口令的方式来进行排查修复工作[^4]。 ```yaml spring: redis: database: 0 host: 127.0.0.1 port: 6379 password: your_password_here # 如果不需要密码可以省略此行 lettuce: pool: max-active: 8 max-wait: -1ms max-idle: 8 min-idle: 0 ``` 为了更好地诊断具体是什么因素造成了当前状况下的连接障碍,建议按照上述几个方面逐一检查确认直至找到根本所在加以改正为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值