У меня постоянно работает служба NodeJS, я создаю одного клиента на сервере Redis, если этот сервер Redis не работает, я получаю сообщение
Error: Redis connection to localhost:7000 failed - connect ECONNREFUSED 127.0.0.1:7000
Даже если я не вызываю какой-либо метод на этом клиенте Redis, я предполагаю, что это потому, что Redis поддерживает модель Pub / Sub,
Мне не нужна эта функциональность, хотя. Сервер Redis может быть недоступен по каким-либо причинам. Поэтому я хотел бы просто ответить с ошибкой, если это когда-либо имеет место, но после нескольких тайм-аутов, когда клиент завершает работу, есть ли способ поддержать клиента, даже если Redis недоступен?
Могу ли я отключить это, я могу сказать Redis игнорировать его или установить предел ошибочного запроса в бесконечность?
Я не хочу создавать нового Клиента для каждого запроса, так как эта операция очень ресурсоемкая.
Если вы сейчас убьете Redis во время его работы, вы получите вывод, подобный указанному выше.
Минимальное воспроизводимое:
const express = require('express');
var _redis = require('redis');
const redisPort = 7000;
const redisService = "localhost";
const app = express();
var redis = _redis.createClient(redisPort, redisService,{
no_ready_check: true
});
app.get('/test', async(req, res) => {
redis.set(1, "Helloworld");
})
app.listen(7999, () => {
});
redis.on("error", function (err) {
console.log("Error " + err);
});