开发者社区> 问答> 正文

Redis报错Could not get a resource from the pool

Redis报错Could not get a resource from the pool

展开
收起
提个问题 2024-06-03 19:28:02 48 0
1 条回答
写回答
取消 提交回答
  • 资源不足

    下面两种情况均属于无法从资源池获取到资源。

    超时:

    redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

    Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:449)
    blockWhenExhausted 为false,因此不会等待资源释放:

    redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

    Caused by: java.util.NoSuchElementException: Pool exhausted
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:464)
    此类异常的原因不一定是资源池不够大,请参见关键参数设置建议中的分析。建议从网络、资源池参数设置、资源池监控(如果对JMX监控)、代码(例如没执行jedis.close())、慢查询、DNS等方面进行排查。

    image.png

    参考文档https://help.aliyun.com/zh/redis/use-cases/jedispool-optimization?spm=a2c4g.11186623.0.i59

    2024-06-04 09:16:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载