如何使用node.js连接到ElastiCache群集

xam*_*mir 13 amazon-ec2 amazon-web-services redis node.js amazon-elasticache

我们知道不建议在Amazon实例外部访问ElastiCache,因此我们只在Amazon EC2实例中尝试以下内容.

我们有一个包含9个节点的ElastiCache Redis集群.当我们尝试使用普通的redis实现连接到它时,它会抛出一些Moved错误

按照@Miller尝试了重试策略方法.还尝试使用不稳定稳定(可怜的人)实现的RedisCluster.

这些实现都不起作用.有什么建议吗?

xam*_*mir 20

为未来的读者分享代码:

var RedisClustr = require('redis-clustr');
var RedisClient = require('redis');
var config = require("./config.json");

var redis = new RedisClustr({
    servers: [
        {
            host: config.redisClusterHost,
            port: config.redisClusterPort
        }
    ],
    createClient: function (port, host) {
        // this is the default behaviour
        return RedisClient.createClient(port, host);
    }
});

//connect to redis
redis.on("connect", function () {
  console.log("connected");
});

//check the functioning
redis.set("framework", "AngularJS", function (err, reply) {
  console.log("redis.set " , reply);
});

redis.get("framework", function (err, reply) {
  console.log("redis.get ", reply);
});
Run Code Online (Sandbox Code Playgroud)