【问题标题】:Setting JedisPoolConfig testOnBorrow to false将 JedisPoolConfig testOnBorrow 设置为 false
【发布时间】:2016-09-04 07:24:08
【问题描述】:

所以,目前在我的 JedisPoolConfig bean 中,我将参数 testOnBorrow 设置为 true。看来这检索资源较慢。

有一个场景,Jedis 花了 30 分钟从 Redis 中检索资源(调用方法 (redis.clients.jedis.BinaryJedis:exists:144 和 java.lang.Thread:sleep) 多次获取资源或脱离)。

我认为我可以做的是将参数 testOnBorrow 设置为 false 以防止在读取资源之前对 Redis 进行 PING 调用。

所以,我的问题(我真的希望我能得到答案)是:

  1. “设置此参数对我的应用有什么影响”?
  2. “这个解决方案真的有效吗?”
  3. “有没有更好的办法解决这个阅读慢的问题?”

【问题讨论】:

    标签: java redis jedis spring-data-redis


    【解决方案1】:

    Jedis testOnX 设置只是在某些场景下发送 Redis PING 命令。 testOnBorrow 在收到来自池的连接时发送它们。

    禁用它会使您更快地使用 Redis,因为您跳过了验证,这意味着 TTL 减少了一个。请注意,您的应用应该知道如何处理错误的连接对象,但启用测试也是如此,因为连接也可以在测试之后和使用之前关闭/断开。

    也就是说,30 分钟是永恒的,而且绝对不会发生,因为您发送了 PING 请求。 确保在完成后将连接返回到池中,并确保池大小足以供您的应用程序使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2017-01-18
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多