开发者社区> 问答> 正文

使用一段时间后redis无法从连接池获取资源?报错

@JFinal 你好,想跟你请教个问题:

配置了redis连接池

JedisPoolConfig jc = redisPlugin.getJedisPoolConfig();
        jc.setTestWhileIdle(true);
        jc.setTestOnReturn(true);
        jc.setTestOnBorrow(true);
        jc.setMaxIdle(50);
        jc.setMaxTotal(500);
        jc.setMaxWaitMillis(10000);
        me.add(redisPlugin);



然后负载均衡部署了多台服务器,使用了一段时间后有一台服务器报错,redis也及时调用了close

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

展开
收起
爱吃鱼的程序员 2020-06-09 13:22:45 1120 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我也遇到了这个问题,理论上是redis客户端申请的连接数大于redis服务器连接池配给的最大连接数,你查一下你的服务端和客户端连接数。  查看一下服务端最大连接数据,另外查看一下代码中是否有手动获取连接的代码却没有调用close()方法。如果全部使用的是jfinalredis相关的api,则不用担心close()问题,因为jfinalredis相关api全部在finally块之中close()掉了连接。

    2020-06-09 13:23:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载