如何释放由RedisClientPool分配的RedisScala客户端?

如何释放由RedisClientPool分配的RedisScala客户端?,scala,Scala,我使用debasishg/scala redis作为我的redis客户端。 我希望它支持多线程执行。遵循他们的文档:我定义了 val clients = new RedisClientPool("localhost", 6379) 然后在每次访问redis时使用它: clients.withClient { client => { ... } } 我的问题是,我是否需要释放每个分配的客户端?如果是的话,正确的方法是什么 如果查看构造函数的,则会有一个默认值maxIdl

我使用debasishg/scala redis作为我的redis客户端。 我希望它支持多线程执行。遵循他们的文档:我定义了

val clients = new RedisClientPool("localhost", 6379)
然后在每次访问redis时使用它:

clients.withClient {
  client => {
    ...
   }
}

我的问题是,我是否需要释放每个分配的客户端?如果是的话,正确的方法是什么

如果查看构造函数的,则会有一个默认值
maxIdle
(“池中可以空闲的最大对象数”,根据),以及
poolWaitTimeout
的默认值。您可以更改这些值,但基本上,如果您等待
poolWaitTimeout
,则可以保证清理您的Resources,备用的
maxIdle
客户端除外


另外,如果您无法忍受空闲客户端的想法,您可以使用mypool关闭整个池。关闭,并在需要时重新创建它,但这取决于您的用例,这可能会违背使用池的目的(如果是cron作业,我想这很好)。

如果您查看构造函数,有一个默认值
maxIdle
(“池中可以空闲的最大对象数”,根据),还有一个
poolWaitTimeout
的默认值。您可以更改这些值,但基本上,如果您等待
poolWaitTimeout
,则可以保证清理您的Resources,备用的
maxIdle
客户端除外

此外,如果您无法忍受
空闲客户端的想法,您可以使用
mypool.close
,关闭整个池,并在需要时重新创建它,但这取决于您的用例,这可能会破坏使用池的目的(如果是cron作业,我想这很好)