gpt4 book ai didi

node.js - ExpressJS : What do I do when redis is down?

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:47 25 4
gpt4 key购买 nike

相关代码:app.js

var redis = require('redis');
var redisClient = redis.createClient();
redisClient.on('error', function (err) {
console.error('There was an Error ' + err);
});

// do stuff

redisClient.quit(function(err, res) {
console.log('closing redis client.');
});

我正在尝试使用 node_redis从我的 node.js 应用程序连接到 Redis。但是,我不太确定如何处理 Redis 宕机的情况。

我有一堆 client.on('error', function(err) {}),但它们似乎从未被调用。这是处理它的正确方法吗?我是不是说错了?

我刚刚开始使用redis/node/express,所以请原谅我的无知。

编辑 正如 Vadim 帮助我意识到的那样,我似乎实际上在 app.js 中使用 client.on('error') 正确捕获了错误。然而,它是my routes当redis宕机时无法捕获错误。

最佳答案

由于 node_redis 是异步的,因此在我开始向 redisClient 发送其他命令之前,没有及时调用 redisClient.on('error') 回调。

我解决此问题的方法是将“成功”代码放入 redisClient.on('connect') 处理程序中,该处理程序仅在 redisClient 成功连接后才会被调用。我的后备代码位于 redisClient.on('error') 中。

您可以查看有关我如何解决此问题的更多信息 in this github changeset .

关于node.js - ExpressJS : What do I do when redis is down?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com