Redis - ЭКОНОМИЧНО. Хотя сервер работает

Я уже прочитал все другие потоки в stackoverflow об ошибке ECONNREFUSED, но все равно ничего не сработало. В настоящее время я работаю над Ubuntu 12.04.1 LTS.

Для тестов у меня есть очень простой код:

var redis = require("redis"),
    client = redis.createClient(6379,"127.0.0.1");

redis.debug_mode = true;

client.on("connect", function () {
    client.set("foo_rand000000000000", "some fantastic value");
});

Но всякий раз, когда я запускаю его, все, что я получаю, это ошибка ECONNREFUSED:

root@oncn05:~/ba# node test.js
hiredis parser not installed.
Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED

node.js:201
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
    at RedisClient.on_error (/root/ba/node_modules/redis/index.js:196:24)
    at Socket.<anonymous> (/root/ba/node_modules/redis/index.js:106:14)
    at Socket.emit (events.js:67:17)
    at Array.0 (net.js:319:25)
    at EventEmitter._tickCallback (node.js:192:41)
root@oncn05:~/ba#

Дело в том, что подключиться к Redis с помощью redis-cli не составляет труда.

root@oncn05:~/ba# redis-cli
redis 127.0.0.1:6379>

Также логи ничего подозрительного не показывают. Почему вообще пишет, что парсер найретиса не установлен? Я установил его с помощью npm install hiredis. Но даже если бы я этого не сделал. Где он вообще используется?

Я ценю каждую помощь.


person ToniB    schedule 18.07.2014    source источник
comment
вы получаете тот же результат, когда не передаете параметры соединения createClient?   -  person soulcheck    schedule 18.07.2014
comment
Что показывает sudo netstat -nlp4?   -  person mscdex    schedule 18.07.2014


Ответы (1)


Прежде всего: спасибо всем, кто прочитал и/или ответил на мой вопрос.

Обычно не имеет значения, передаете ли вы createClient эти параметры, потому что 127.0.0.1:6379 является настройкой по умолчанию.

Я понял, что у меня старая версия node.js (0.6.xx), поэтому я решил полностью удалить ее, а затем переустановить.

Итак, сначала я удалил узел командой sudo apt-get remove nodejs. После этого я установил новую версию, как указано здесь: установка через менеджер пакетов

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Теперь все работает как положено. Не знаю, почему я не подумал об этом раньше.

person ToniB    schedule 19.07.2014
comment
У меня такая же проблема с узлом v0.6.12 - person loretoparisi; 24.06.2015
comment
Сумасшедшая проблема, но у меня была такая же проблема в версии 0.6.12! - person helsont; 01.03.2016