jidis 连接池 getResource方法的中验证连接是否可用是这样定义的:
return hostAndPort.getHost().equals(connectionHost) && hostAndPort.getPort() == connectionPort && jedis.isConnected() && jedis.ping().equals("PONG");
其中ping是很耗时的。当并发量很大的时候,这里耗时会很大。很容易出现超时。
调整思路:在不ping的情况下保证连接可用
jedispool会记录连接最后使用时间,保证取到连接时的时间减去连接最后使用时间在连接可用范围之内就行
ping换成(lCurrentTime-pooledJedis.getLastUsedTime()<XXXXXX)XXXX为自定义超时时间
转载于:https://my.oschina.net/u/3296025/blog/845197