http://nutzbook.wendal.net/redis_basic/redis_aop.html
看了上面那篇文章,虽然没看懂,单觉得不用关闭jedis是挺方便的,不知道能否告知一下原理?
我们在使用完jedis后,都需要执行
jedis.close();
但是,这篇文章中,并没有看到close的方法调用,怎么关闭的链接?
@wendal 这个倒是理解了,主要就是没有看到jedis.close()调用,就不知道TL.remove();的时候,就能自动调用?资源的回收怎么个流程,没有搞懂这部分。
@qq_16dd5808 try 后面的括号中的语句所产生的资源,在try块结束时自动close
来自炫酷的 NutzCN
@wendal 我去找找相关资料学习一下去。
我目前都是这样用的
Jedis jedis = jedisPool.getResource();
try {
jedis.xxx();
} catch (Throwable throwable) {
throw Lang.wrapThrow(throwable);
} finally {
jedis.close();
}
难道说
try (Jedis jedis = jedisPool.getResource()) {
jedis.xxx()
}finally{}
这样就可以了?不用调用close()方法了么?finally里面什么都不写行么?
@qq_16dd5808 是的,不需要
来自炫酷的 NutzCN