Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis 在一个特定操作中获取JedisConnectionException_Redis_Jedis - Fatal编程技术网

Redis 在一个特定操作中获取JedisConnectionException

Redis 在一个特定操作中获取JedisConnectionException,redis,jedis,Redis,Jedis,我试图从redis server中删除特定模式的密钥,但在执行时,它显示: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream. at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:199) at redis.clients.util.RedisInputStream.readB

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

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,我使用的绝地版本为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;
}
试试看{
设置键=绝地武士。键(模式);
del(keys.toArray(新字符串[keys.size()]);
}捕获(例外e){
log.error(“未能删除模式{0}的键条目”,模式);
投掷e;
}
这里的模式是我们试图删除的字符串

有什么解决错误的建议吗

=================================================================

更新-1:

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

  • 您是否尝试过使用自定义配置将minEvictableIdleTimeMillis设置为所需的值?这将确保从绝地连接池中释放空闲连接。与@TomCools达成一致的意见表示,这对绝地起到了作用repo@TomCools这里的主要问题是我们在redis上使用胡桃夹子,我想它不允许使用Keys命令。是否有其他方法可以按模式获取所有密钥?’后续问题您是否尝试使用自定义配置将minEvictableIdleTimeMillis设置为所需值?这将确保从绝地连接池中释放空闲连接。与@TomCools达成一致的意见表示,这对绝地起到了作用repo@TomCools这里的主要问题是我们在redis上使用胡桃夹子,我想它不允许使用Keys命令。接下来的问题是,有没有其他办法可以按模式获得所有钥匙