Ошибка «Не удалось получить распределение слотов» в AWS ElastiCach (Redis) с использованием Node.js - PullRequest
0 голосов
/ 22 февраля 2019

Мне удалось подключиться к Amazon ElastiCache (Redis) с помощью библиотек Node.js, которые redis и redis-clustr без ошибок.Но получаю ошибку couldn't get slot allocation всякий раз, когда я пытаюсь установить пару ключ-значение в приложении Node.js, работающем на экземпляре Amazon EC2.Мой Amazon ElastiCache имеет один основной узел и одну реплику (то есть два узла).

Вот пример кода, используемый для подключения:

const redis_cluster = require('redis-clustr');
const redis_client = require('redis');

let redis = new redis_cluster({
    servers: [
        {
             host: global.gConfig.redis.redis_host,
             port: global.gConfig.redis.redis_port
        }
    ],
    createClient: (port, host) => {
        return redis_client.createClient(port, host);
    }
});

// connection error
redis.on('error', err => {
    // log the error to log file
    global.gLogger.log('error', err.message, {stack: err.stack});
});

// add to global variables
global.gRedisClient = redis;

После того, как я установил соединение с AmazonElastiCach, приведенный ниже пример кода показывает, как я получаю значения из Redis:

gRedisClient.mget(['run:123', 'walk:123'], (err, replies) => {...});

Я использую Redis multi() для операций bach и mget() для одновременного получения значений.Я новичок в использовании Amazon ElastiCach, любая помощь будет оценена.Спасибо.

...