我试图通过nodejs中redis集群的keys数组获取值, 它返回错误:"管道中的所有密钥都应该属于同一个插槽" 这是代码:
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);
});
}
我搜索过,有人说:它不适用于集群。 有没有办法做到这一点?
答案 0 :(得分:0)
redis群集上的多键操作需要位于同一节点上,这就是错误所抱怨的。
要强制所有必需的密钥到同一节点,您可以使用key hash tags,请记住,如果您对所有密钥执行此操作而不仅仅是某个子集,那么您将使用一个集群毫无意义。