将 JedisPoolConfig testOnBorrow 设置为 false
Setting JedisPoolConfig testOnBorrow to false
因此,目前在我的 JedisPoolConfig bean 中,我将参数 testOnBorrow 设置为 true。看来这检索资源较慢。
有一个场景,Jedis 花了 30 分钟从 Redis 中检索资源(调用方法 (redis.clients.jedis.BinaryJedis:exists:144 和 java.lang.Thread:sleep)在获得资源或脱离之前多次)。
我认为我可以做的是将参数 testOnBorrow 设置为 false 以防止在读取资源之前对 Redis 进行 PING 调用。
所以,我的问题(我真的希望我能得到答案)是:
- "What will setting this parameter do to my app"?
- "Is this solution really effective?"
- "Is there a better solution to this problem of slow-reading?"
Jedis testOnX
设置只是在某些场景下发送一个 Redis PING 命令。 testOnBorrow
在从池中接收到连接时发送它们。
禁用它将使您使用 Redis 的速度更快,因为您跳过了验证,这意味着 TTL 减少了一个。请注意,您的应用程序应该知道如何处理错误的连接对象,但在启用测试的情况下也是如此,因为连接可以 close/drop 在测试之后和使用之前。
也就是说,30 分钟是永恒的,而且绝对不会因为您发送 PING 请求而发生。
确保您 return 连接到池一旦完成,并确保您的池大小足以满足您的应用程序使用。
因此,目前在我的 JedisPoolConfig bean 中,我将参数 testOnBorrow 设置为 true。看来这检索资源较慢。
有一个场景,Jedis 花了 30 分钟从 Redis 中检索资源(调用方法 (redis.clients.jedis.BinaryJedis:exists:144 和 java.lang.Thread:sleep)在获得资源或脱离之前多次)。
我认为我可以做的是将参数 testOnBorrow 设置为 false 以防止在读取资源之前对 Redis 进行 PING 调用。
所以,我的问题(我真的希望我能得到答案)是:
- "What will setting this parameter do to my app"?
- "Is this solution really effective?"
- "Is there a better solution to this problem of slow-reading?"
Jedis testOnX
设置只是在某些场景下发送一个 Redis PING 命令。 testOnBorrow
在从池中接收到连接时发送它们。
禁用它将使您使用 Redis 的速度更快,因为您跳过了验证,这意味着 TTL 减少了一个。请注意,您的应用程序应该知道如何处理错误的连接对象,但在启用测试的情况下也是如此,因为连接可以 close/drop 在测试之后和使用之前。
也就是说,30 分钟是永恒的,而且绝对不会因为您发送 PING 请求而发生。 确保您 return 连接到池一旦完成,并确保您的池大小足以满足您的应用程序使用。