Redis продолжает сбой на Windows 10 с Node.JS: Ошибка: сбой подключения Redis к 127.0.0.1:6379 - подключение ECONNREFUSED 127.0.0.1:6379 - PullRequest
0 голосов
/ 08 апреля 2020

Рассмотрим код:

const mongoose = require("mongoose");
const redis = require("redis");
const util = require("util");

const redisUrl = "redis://127.0.0.1:6379";
const client = redis.createClient(redisUrl);
client.hget = util.promisify(client.hget);
const exec = mongoose.Query.prototype.exec;

mongoose.Query.prototype.cache = function(options = {}) {
  this.useCache = true;
  this.hashKey = JSON.stringify(options.key || "");
  return this; // now it's chainable
};

   ... // More code ...

Он генерирует:

событий. js: 173 throw er; // Необработанное событие 'error' [0] ^ [0] [0] Ошибка: сбой подключения Redis к 127.0.0.1:6379 - подключение ECONNREFUSED 127.0.0.1:6379 [0] в TCPConnectWrap.afterConnect [as oncomplete] (net. js: 1054: 14) [0] Отправлено событие 'error' в: [0] в RedisClient.on_error (C: \ Development-X220 \ NODEJS \ Redis \ node_modules \ redis \ index. js : 341: 14) [0] в сокете. (C: \ Development-X220 \ NODEJS \ Redis \ node_modules \ redis \ index. js: 222: 14) [0] в Socket.emit (события. js: 196: 13) [0] в emitErrorNT (внутренняя / streams / destroy. js: 91: 8) [0] в emitErrorAndCloseNT (внутренняя / streams / destroy. js: 59: 3) [0] в processTicksAndRejection (внутренняя / process / task_queues. * 1033) *: 84: 9) [0] [nodemon] приложение упало - ожидание изменений файла перед запуском ...

А также:

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

Любая идея, как исправить Это ?

Я пытался запустить redis-сервер из CMD Windows -10 и получил:

'redis-server' is not recognized as an internal or external command,
operable program or batch file.

Также следовал советам, которые предлагали здесь , но ничего не получалось.

Есть предложения?

Ответы [ 3 ]

0 голосов
/ 08 апреля 2020

'redis-server' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

, что означает, что ваш сервер redis еще не запущен, поэтому ошибка тайм-аута как и ожидалось.

redis для windows не является официальным, я думаю, поэтому лучше использовать redis на docker или linux host.

0 голосов
/ 08 апреля 2020

ОК, я исправил это, перейдя по этой ссылке:

https://github.com/rgl/redis/downloads

Я публикую этапы для тех, кто может столкнуться с тем же проблема:

Выбор верхнего EXE-файла и его установка.

После этого в Windows 10 нажмите: FN + R

Тип: services.ms c

Найдите «Redis Server» в списке, щелкните правой кнопкой мыши и выберите «Пуск».

Вот и все, все готово.

0 голосов
/ 08 апреля 2020

Вам необходимо установить программное обеспечение перед его использованием, как это было в последние 50 лет. Рассмотрите это руководство при установке Redis на Windows.

...