0

我使用 go-redis 库来检查 Redis 集群上特定键的内存使用情况。该库偶尔会因错误“redis:nil”而失败,这通常意味着它访问了错误的 redis 实例以查找密钥。go-redis 库使用 Redis CLI: "command" 来获取每个命令的参数列表,并在参数列表中查找 redis 键的位置。

特别是对于内存 CLI,“命令”CLI 的输出是:

157) 1) "memory"
     2) (integer) -2
     3) 1) readonly
        2) random
     4) (integer) 0
     5) (integer) 0
     6) (integer) 0

Redis 文档:https ://redis.io/commands/command 第 4 和 5 项是 arguments 中第一个 key 和 arguments 中最后一个 key 的位置。

但值为零?根据内存 CLI 文档:https ://redis.io/commands/memory-usage 第 4 项和第 5 项的值都应为 3。

这是 redis “命令” CLI 输出中的错误,还是我误解了这一点?

4

1 回答 1

0

这是redis中的一个设计问题,见https://github.com/redis/redis/issues/7493

最后的操作是合并拉取请求: https ://github.com/go-redis/redis/pull/1400

于 2020-07-09T10:08:28.830 回答