Подключение к RedisToGo через Node.JS - PullRequest
12 голосов
/ 03 сентября 2011

Я использую Redis To Go в сочетании с библиотекой https://github.com/mranney/node_redis. Redis дает мне URL-адрес, который выглядит как redis://me:978287c0b670694673d045f08b2e0371@icefish.redistogo.com:9393, но я не знаю, как его использовать, поскольку createClient() принимает только хост и порт.

Ответы [ 2 ]

19 голосов
/ 03 сентября 2011

Я полагаю, что схема для вашего URL-адреса:

redis://username:password@host:port.

Я не верю, что используется username.node_redis предоставляет два метода, которые вы будете использовать для входа в систему: createClient и auth.Подробные сведения содержатся в readme , но для справки приведена соответствующая часть:

redis.createClient (порт, хост, параметры)

Создать новыйклиентское соединение.port по умолчанию 6379 и host по умолчанию 127.0.0.1.Если у вас redis-server работает на том же компьютере, что и узел, то по умолчанию для порта и хоста, вероятно, все в порядке.options в объекте со следующими возможными свойствами:

  • parser: какой анализатор ответов протокола Redis использовать.По умолчанию hiredis, если этот модуль установлен.Это также может быть установлено на javascript.
  • return_buffers: по умолчанию false.Если установлено значение true, то массовые ответы на данные будут возвращаться как объекты Buffer узла вместо строк JavaScript.

createClient() возвращает объект RedisClient с именем client во всехпримеры здесь.

client.auth (пароль, обратный вызов)

При подключении к серверам Redis, требующим аутентификации, команду AUTH необходимо отправить в качестве первой команды после подключения.Это может быть сложно согласовать с переподключениями, проверкой готовности и т. Д. Чтобы сделать это проще, client.auth() хранит password и отправит его после каждого соединения, включая переподключения.callback вызывается только один раз, после ответа на самую первую отправленную команду AUTH.

10 голосов
/ 12 июня 2012

Мне также пришлось добавить параметр no_ready_check: true к вызову redis.createClient ().

client = redis.createClient(settings.redis.port, 
                            settings.redis.host, 
                            {no_ready_check: true});
if (settings.redis.password) {
  client.auth(settings.redis.password, function() {
    console.log('Redis client connected');
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...