这种情况,起初以为是pool的配置不对,但是在调大了各种相应配置之后这样的问题还是经常出现,在查看了源码之后发现
分析了一下:
出现这种问题的原因是jedis 在borrow对象时,由于配置了TestOnBorrow=true,则会在借用前测试一下与redis之间的通信是否正常,若与redis之间的socket断了,或是ping redis返回的不是正常的pong,那么就直接抛出了异常。
解决方案:
目前只想到这种简单的方案,至于为什么会出现偶尔的redis通信问题,有待以后慢慢研究!
后续:
由于某一redis操作耗时,导致其他操作无法正常进行