测试环境出现这个报错,检查了redis连接、密码等都没有问题。

那肯定是Jedis pool的问题了。

先测试环境看了下问题

当前连接数101,总的连接数允许4064。按理说是不会出现,但是用的jedis池化,初始化jedis的时候配置的参数

最大连接数为100。这问题肯定就是代码问题,在代码的地方没有做连接释放。

查了下代码,发现问题

调用的过程

这个获取了之后直接执行,没有释放连接。

应该使用:

try (Jedis jedis = getJedis()) {
    // jedis 使用
}

jdk1.7新增的特性,在try后面使用这种方式会在后面代码块执行完成后,自动释放连接。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐