Redis 给出 MOVED 错误。我正在使用企业层作为 Azure Redis 缓存。使用下面的 Node.js 代码与其交互。
const redis = require('redis');
const client = redis.createClient({
url: "dns",
password: "***",
connectTimeout: 100000
});
MOVED 消息意味着您正在查找的密钥不在集群中的特定分片上。它已被移动到另一个分片或从未在此分片上。通常,这是由 Node Redis 为您处理的,您只需取回您的值即可。
但是,需要告知 Node Redis 它正在连接到集群才能执行此操作。您可以通过调用
.createCluster
而不是 .createConnection
来完成此操作。有一个指南包含所有详细信息,但简短版本是:
import { createCluster } from 'redis';
const cluster = createCluster({
rootNodes: [
{
url: 'redis://10.0.0.1:30001'
},
{
url: 'redis://10.0.0.2:30002'
}
]
})