在一个特定操作中获取jedisconnectionexception

xt0899hw  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(242)

我试图从redis服务器中删除特定模式的密钥,但在执行时,它显示:

redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:199)
    at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
    at redis.clients.jedis.Protocol.process(Protocol.java:153)
    at redis.clients.jedis.Protocol.read(Protocol.java:218)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:341)
    at redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:277)
    at redis.clients.jedis.Jedis.keys(Jedis.java:284)

作为参考,我的服务器超时值是0,我一直使用的jedis版本是2.10.2。下面是我尝试执行的代码段:

try {
    Set<String> keys = jedis.keys(pattern);
    jedis.del(keys.toArray(new String[keys.size()]));
} catch(Exception e) {
    log.error("Failed to delete key entry for pattern {0}", pattern);
    throw e;
}

这里是我们试图删除的字符串。
有什么解决错误的建议吗?

更新-1:
代码在本地运行良好,没有任何jedis函数问题。
在远程服务器上运行时,除此delete keys方法外,其他函数都能正确执行。就在执行绝地武士的时候

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题