如何在Redis中找到可用的最大连接数,已使用的连接数和空闲的连接数?

时间:2018-07-16 14:12:06

标签: spring spring-boot caching redis jedis

我们正在使用Spring引导应用程序中的Redis,并且收到洪水般的警报

Exception occurred while querying cache : class org.springframework.data.redis.RedisConnectionFailureException Message: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolCause: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolMessage:Could not get a resource from the pool",

是因为Redis Server中没有连接吗?还是其他原因?

如何查找最大可用连接数?如何找到多少免费的?

1 个答案:

答案 0 :(得分:0)

  

无法从池中获取资源

您已用完客户端Jedis池中的连接。可能的解决方法:

  1. 如果未正确连接,则将连接正确返回到池(pool.returnResource())。当不需要它们时,不要握住它们。不要经常断开连接。确保公共池版本至少为1.6
  2. 增加池大小。

    JedisPoolConfig poolConfig = new JedisPoolConfig();
    poolConfig.setMaxTotal(...);
    
  3. 增加没有连接可用时的等待时间。

    poolConfig.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
    poolConfig.setMaxWait(...);
    

更新

有关服务器端的限制,请参见此处:https://stackoverflow.com/a/51539038/78569