node.js - 在nodejs中通过键数组从redis集群获取值

标签 node.js redis redis-cluster

我正在尝试通过 nodejs 中的 redis 集群中的键数组获取值, 它返回错误:“管道中的所有键都应该属于同一个槽” 这是代码:

    private GETALL_P(keys: string[], cb: any) {

    var pipeline = this.client.pipeline();

    keys.forEach(function (key: string, index: Number) {
        pipeline.get(key);
    });

    pipeline.exec(function (err: any, result: any) {
        cb(err, result);
    });
}

我搜索了一下,有人说:它不适用于集群。 有什么办法吗?

最佳答案

redis 集群上的多键操作需要在同一个 Node 上,这就是报错的地方。

要将所有必需的 key 强制到同一个 Node ,您可以使用 key hash tags ,请记住,如果您对所有键执行此操作,而不仅仅是某些子集,那么您将毫无意义地使用集群。

关于node.js - 在nodejs中通过键数组从redis集群获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39896628/

相关文章:

node.js - "npm install"在 node_modules 目录中安装所有依赖项,而不是让它们嵌套

node.js - Docker Node alpine 8 段错误(核心已转储)

redis - 关于将事件从redis转移到kafka的问题

python - 在redis中存储和获取django模型对象

Redis Sentinel 和 Cluster 的优势

node.js - 使用 nextjs 应用程序注册 service worker

node.js - 使用变量时的 Sequelize 问题

database - 用键值存储中的索引模拟数据库表的最简单方法是什么?

Redis 集群 : Replace failing master that has no slave without downtime

redis集群给客户端127.0.0.1 ip