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

8tntrjer  于 2023-04-19  发布在  Redis
关注(0)|答案(1)|浏览(202)

我在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();
})();

但有时我会得到错误ReplyError: MOVED 12539 rediss://node2.amazonaws.com:6379,我无法从键中获得值。
你知道是集群的配置有问题还是使用redis节点库的代码有问题吗?

**编辑:**我用ioredis库试过了,它工作正常,所以redis库有问题。
**Node.js版本:**16
**Redis服务器版本:**6

zbdgwd5y

zbdgwd5y1#

我已经创建了一个issue到redis库,所以很快就会用this PR解决这个问题。

相关问题