【发布时间】:2018-02-01 20:25:27
【问题描述】:
我有一个带有一个主设备和两个从设备的 redis HA。我的 redis 中有大约 1000 万个密钥。 对于给定的流程,我将删除大约 100 万个批量大小为 1000 的密钥,并且在其他流程中的模拟密钥被放入 redis。 但是每次执行删除操作时我都会遇到 java.net.SocketTimeoutException: Read timed out。我将超时时间保持在 8 秒。 Redis Delete有什么问题吗?
我正在使用 Jedis 客户端 2.7。
堆栈跟踪:
"redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out":{
"RedisInputStream.java:201":"redis.clients.util.RedisInputStream.ensureFill",
"RedisInputStream.java:40":"redis.clients.util.RedisInputStream.readByte",
"Protocol.java:141":"redis.clients.jedis.Protocol.process",
"Protocol.java:205":"redis.clients.jedis.Protocol.read",
"Connection.java:297":"redis.clients.jedis.Connection.readProtocolWithCheckingBroken",
"Connection.java:267":"redis.clients.jedis.Connection.getAll",
"Connection.java:259":"redis.clients.jedis.Connection.getAll",
【问题讨论】:
标签: redis jedis spring-data-redis