首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >释放Jedis池

释放Jedis池
EN

Stack Overflow用户
提问于 2020-01-12 21:53:18
回答 1查看 585关注 0票数 0

在大多数示例中,包括this Jedis示例,Jedis池都是在try..catch括号中创建的,我认为它就是这样的:

代码语言:javascript
复制
try(Jedis jedis = jedisPool.getResource())
{
    some code
}

对我来说,这是不可能的,因为我需要在仍然使用Jedis池的同时抛出错误,这取决于Redis的结果。所以对我来说这只是

代码语言:javascript
复制
Jedis jedis = jedisPool.getResource()

问题是如何最好地处理对象?是jedis.disconnect吗?jedis.quit?jedis = null?

有一些类似的问题,但并不完全相同。关于错误的One,关于增加池的another,关于线程的another

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 00:11:17

简单的jedis.close()。请参阅Jedis - When to use returnBrokenResource()

您过去常常希望使用jedisPool.returnBrokenResource(jedis)jedisPool.returnResource(jedis),但jedis.close()会处理它。

参见Jedis.java

代码语言:javascript
复制
Jedis jedis = null;
try {
    jedis = jedisPool.getResource();

...
}catch (JedisConnectionException e) {
...
}catch (Exception e){
...
} finally {
    if (jedis != null)
        jedis.close();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59704500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档