redis - 无法在带有胡桃夹子的 Redis 服务器上执行 Redis 密钥或扫描方法以按模式获取密钥
问题描述
我正在尝试使用 nutcracker 作为代理从 redis 服务器按模式删除键,但在执行我在 java 代码中使用的 jedis.keys 时显示错误。它不允许我知道的密钥和扫描方法。我正在使用简单的 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;
}
解决方案
推荐阅读
- html - 使用 Powershell 将 HTML 字符代码转换为文本?
- python - 如何在 Python 中按“子键”对字典进行排序
- django - Django - 在不将文件保存到模型的情况下获取返回图像的响应
- android - 发送一个信号通知时 Android 应用程序崩溃
- deployment - 为什么我不能创建 GPO 来将 .msi 安装到客户端?
- python - Python中的网页抓取:奇怪的顺序和抓取问题
- javascript - 如何在打字稿中使用 bigint 初始化程序创建一个类似枚举的对象?
- c++ - C++ 聚合初始化器在运行时或编译时有效吗?
- c# - 将 UTC 转换为不同的时区,无需夏令时
- c++ - 尝试初始化异构列表中的数组元素时出现分段错误