解决redis中 Could not get a resource from the pool 异常

Could not get a resource from the pool 中文翻译:无法从池中获取资源
导致:redis的缓存崩溃

出现原因:1.最大链接数量超标,2.资源未回收

解决1方式:调大你的缓存配置参数

最小能够保持idel状态的对象数   
minIdle=500    
当池内没有返回对象时,最大等待时间    
maxWaitMillis=10000   

解决2方式:成功关闭连接,失败也要关闭连接*

 从你的代码你能清晰找到以下代码:
 jedisPool.returnBrokenResource(jedis); //异常释放资源方法returnBrokenResource
 jedisPool.returnResource(jedis);   //正常释放资源方法returnResource
 
 那么你的代码就是这样了:
  try{   } catch (Exception e) {
        returnBrokenResource(jedis);
        logger.error("I am error:{}", e);
    } finally {
        returnResource(jedis);
    }

你可能感兴趣的:(java,redis)