AWS Redis Cluster MOVED 使用 redis 节点库时出错

ell*_*lli 6 amazon-web-services redis node.js amazon-memory-db

我在 AWS 中创建了一个具有 2 个节点的 Redis MemoryDB 集群: 在此输入图像描述

我使用redis节点库 v4.0.0 连接到它,如下所示:

import { createCluster } from 'redis';
(async () => {
    const REDIS_USERNAME = 'test-username';
    const REDIS_PASSWORD = 'test-pass';
    const cluster = createCluster({
        rootNodes: [
            {
                url: `rediss://node1.amazonaws.com:6379`,
            },
            {
                url: `rediss://node2.amazonaws.com:6379`,
            },
        ],
        defaults: {
            url: `rediss://cluster.amazonaws.com:6379`,
            username: REDIS_USERNAME,
            password: REDIS_PASSWORD,
        }
    });
    cluster.on('error', (err) => console.log('Redis Cluster Error', err));
    await cluster.connect();
    console.log('connected to cluster...');
    await cluster.set('key', 'value');
    const value = await cluster.get('key');
    console.log('Value', value);
    await cluster.disconnect();
})();
Run Code Online (Sandbox Code Playgroud)

但有时我会收到错误ReplyError: MOVED 12539 rediss://node2.amazonaws.com:6379并且无法从密钥中获取值。

您是否知道集群的配置或使用redis节点库的代码是否有问题?

编辑:我用ioredis库 尝试过,它可以工作,所以这是redis库的问题。

Node.js 版本: 16

Redis 服务器版本: 6

ell*_*lli 0

我给 redis 库创建了一个问题,所以这个 PR很快就会解决它。