gpt4 book ai didi

spring - 在 Redis 中使用 opsForHash.scan() 时出现 ClassCastException

转载 作者:可可西里 更新时间:2023-11-01 11:49:07 25 4
gpt4 key购买 nike

ClassCastException occurs when I try to scan a large number of keys using opsForHash.scan() method. I am using Jedis 2.6.2 and I face this error only when the number of keys to be searched is large(~100,000). I have read solutions to this problem online and most of them are suggesting that the problem occurs due to connection pooling.

我在我的项目中使用 Spring 集成并将 use-pool 属性设置为 true(在 JedisConnectionFactory 中),即使它是默认选项。既然 spring 应该管理与 redis 的连接,为什么我仍然有这个问题?请提出建议。

enter image description here

这是我正在使用的 Spring 配置文件:

enter image description here

这是我执行 scan() 的 java 代码: enter image description here

最佳答案

我遇到了同样的问题。在网上查了很多,发现问题是由于连接池问题引起的。正如您所提到的,您已在 spring 配置中将 use-pool 设置为 true 。我通过将池设置为 false 来解决这个问题。事实证明,我不需要池化,之后问题就没有发生。如果您不明确需要池,则可以尝试此解决方案。这是代码片段:

<bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:hostName="" p:port="6379" p:usePool="false" />

希望对您有所帮助!

关于spring - 在 Redis 中使用 opsForHash.scan() 时出现 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38079641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com