Jedis有个空闲线程移除方法:testWhileIdle,具体实现在org.apache.commons.pool2.impl.GenericObjectPool
Jedis中默认的触发频率是30s,当然这个可以自己配置,对于pubsub client,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客户端连接这个可能就是因为jedis自身清除了未被调用的线程,另外还有个可能
服务实例比较多redis-server的连接数占满了,实例过多导致线程创建过多,大量闲置的连接被redis-server主动断开,导致实例中会存在很多失效的连接,虽然每隔30s会进行一次清理,但是redis-server断开的频率可能更高因为连接满了不够用,导致Jedis获取到的连接大概率无效,
影响方面没试过,建议根据项目需要自己调整吧