我试图用nutchracker作为代理从redis服务器中按模式删除密钥,但在执行java代码中使用的jedis.keys时显示错误。它不允许键和扫描方法,我知道。我正在使用simple set方法在redis中创建一个键值条目。那么,有没有人能建议其他方法从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;
}
暂无答案!
目前还没有任何答案,快来回答吧!