当前位置: 首页 > 知识库问答 >
问题:

AWS弹性缓存Redis群集“已移动XXXXX ip:6379”错误

许庆
2023-03-14

我正在尝试连接到AWS Elastic Cache Redis群集,我不断收到此消息,但仍然收到移动12218 ip:6379的错误

以下是代码

https://www.npmjs.com/package/redis-redis:^4.0.1

import {createClient} from "redis";
const client = createClient({url: "redis://xyz.abc.clustercfg.use2.cache.amazonaws.com:6379"});
await client.connect();
console.log("client connected");
console.log(await client.ping());

输出:

client connected
PONG

但当我等待客户的时候。获取(键)或等待客户端。设置(键,值)我得到移动的错误。

我甚至遵循了这个https://github.com/redis/node-redis/issues/1782,但我得到了相同的MOVED 12218 ip: 6379错误。

共有1个答案

颛孙哲
2023-03-14

我希望您正在aws中尝试启用群集模式的redis。

"redis": "^4.1.0".

我正在使用这个redis版本,如果是这样,那么您可以尝试下面的代码

    const redis = require('redis');

    const client = redis.createCluster({
      rootNodes: [
        {
          url: `redis://${ConfigurationEndpoint}:${port}`,
        },
      ],
      useReplicas: true,
     });
 类似资料:
  • 问题内容: 我有一个带有redis的laravel(5.3)应用程序,用于会话(使用predis)。只要我使用单个redis节点(使用 config / database.php中的 默认方法),一切都可以正常工作。一旦我切换到Redis集群,尽管我开始像50%的时间一样出现MOVED错误(基于谷歌搜索,我知道这应该由predis管理,但不是这样)。 我尝试将cluster参数更改为true,但是

  • 关于如何打开缓存有什么建议吗?

  • 我必须使用StackExhange.redis C#在redis缓存中频繁添加N个(独立的)项,每个项都有不同的过期时间,以便在客户端有最小的时间,在服务器端有最小的阻塞和成本。Redis服务器每秒将收到数百个get请求,所以我不想打乱get时间。 我已经阅读了这里的文档并在这里回答。我找不到一个执行此操作的方法。考虑到不同的选择: null

  • 我浏览了https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_elasticache.html。 如何使用AWS-CDK创建Elasticache Redis模板。如果您共享示例代码会更有帮助。

  • Redis 集群(Redis Cluster) 是 Redis 提供的分布式数据库方案。 既然是分布式,自然具备分布式系统的基本特性:可扩展、高可用、一致性。 Redis 集群通过划分 hash 槽来分片,进行数据分享。 Redis 集群采用主从模型,提供复制和故障转移功能,来保证 Redis 集群的高可用。 根据 CAP 理论,Consistency、Availability、Partition