【Redis异常】redis.clients.jedis.exceptions.JedisConnectionException: Could not get a res

异常描述:

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
	at redis.clients.util.Pool.getResource(Pool.java:22)
	at com.derbysoft.jredis.longkeytest.BorrowObject.run(BorrowObject.java:22)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134)
	at redis.clients.util.Pool.getResource(Pool.java:20)
	... 2 more

产生此错误的原因通常是:

一、Redis没有启动

我自己遇到一次这样的问题。汗!
驱动Redis:

cd ~/envs/redis
//启动服务
bin/redis-server conf/redis.conf

二、由于防火墙原因无法连接到Redis

1、服务器防火墙入站规则。

2、访问Redis的应用程序所在主机的出站(端口)规则。

问题出现场景:这个错误会不经意的出现之前打开了防火墙,可是长时间待机,最后开发时候唤醒服务时,会出现防火墙启动,导致客户机无法链接服务器。
解决:
(1)

//关闭防火墙(不推荐,只适合开发环境使用)
systemctl stop firewalld.service

(2)

//开启特定端口(6379)
1>查看哪些端口被打开 netstat -anp | grep 6379
2>关闭端口号:
/sbin/iptables -I INPUT -p tcp --dport 6379-j DROP
3>打开端口号:
/sbin/iptables -I INPUT -p tcp --dport 6379-j ACCEPT

三、IP地址或端口错误

四、Jedis 对象用完以后,要释放掉,不让会一直占用,所以会出现无法获取新的资源。

五、Spring Boot项目,缺少依赖

如果使用Redis与Spring Boot,也会抛出此异常。
如果你使用的是Spring Boot,那么Redis的依赖是不够的,
您还需要从redis.io手动下载并安装Redis,然后将其从终端运行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不懂、、、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值