使用Jedis操作redis的连接池问题
之前一直用的jedis 2.9版本,在使用Jedispool连接池时,每次操作后都要释放连接。
之前一直这么写的“
jedisPool.returnResourceObject(resource);
一直使用的是redis.clients.jedis.JedisPool下面的 returnResourceObject 这个方法,虽然过时,但也还能用。
今天换成了jedis 3.0.1,这个方法直接就没有了。
找了半天,回收资源的方法原来跑到 redis.clients.jedis 里面的close方法了。
之后看了下这个方法,应该也是大同小异。
@Override public void close() { if (dataSource != null) { JedisPoolAbstract pool = this.dataSource; this.dataSource = null; if (client.isBroken()) { pool.returnBrokenResource(this); } else { pool.returnResource(this); } } else { super.close(); } }
总结:还是源码看得少,有时候应该好好看看Jedis。。。。