node.js - Redis命令获取Redis集群上的所有可用 key ?

标签 node.js redis redis-cluster

我正在使用这个

redisManager.redisClient.keys('*example*', function (err, keys) {
})

但它只提供来自 redis 集群之一的 key 。如何从所有集群中获取 key ?

最佳答案

您无法使用单个命令获取所有 Node 的 key 。您必须获取所有 Node 的 key 并将它们合并。 引用 - https://github.com/antirez/redis/issues/1962

你可以做类似的事情。

var redis = require('redis');

redisConfig = new Array(
    {"port": 1234, "host": "192.168.1.2"},
    {"port": 5678, "host": "192.168.1.3"}
);

keys    = new Array();
allKeys = new Array();

for(i = 0; i < redisConfig.length; i++){
    redisClient = redis.createClient(redisConfig[i].port, redisConfig[i].host);    
      keys[i] = redisClient.keys('*example*', function (err, keys) {
      allkeys = [...new Set([...allKeys ,...keys[i]])];
    })
}

关于node.js - Redis命令获取Redis集群上的所有可用 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36053413/

相关文章:

jquery - Owl Carousel 在有输入时看到两张幻灯片

nginx - 配置 nginx 以使用 key 从 redis 获取 url 并将 url 代理到其他服务器

python - RQ - 导入错误 : No module named XXX

Redis:多个排序集中的成员的分页有序 zrank 获取

redis - 为什么 Redis 客户端在 ClusterMode 中使用多个地址?

redis - 无法向 Redis 集群添加值 - 集群已关闭

javascript - Heroku Nodejs 路径问题...错误 : ENOENT: no such file or directory

javascript - 将 http 请求中的数据保存到数组中,以 json 形式发送回客户端

javascript - 在nodeJs上,SQL Server可以将连接表返回为对象数组吗?

redis-trib.rb 不再可用但 redis-cli --cluster create 抛出无法识别的选项错误