问题标签 [ioredis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
260 浏览

node.js - ioredis BLPOP 不适用于多个列表作为参数

我正在使用 ioredis 作为我的工人的排队系统。

根据文档,BLPOP 采用任意数量的列表并从中弹出所需的项目。

我在这里遗漏了一些关于 redis/BLPOP 的重要细节吗?

任何帮助将不胜感激。

对于单个队列/列表,它完全完美。

这会阻止所有这些。

这很完美。

0 投票
1 回答
462 浏览

node.js - Why does connecting to a cluster constantly loop in IoRedis?

I am currently trying to connect to my Redis cluster stored on another instance from a server running my application. I am using IoRedis to interface between my application and my Redis instance and it worked fine when there was only a single Redis node running. However, after trying to setup the cluster connection in my Node application, it constantly loops on the connection. My cluster setup works correctly.

As of now, I have tried the following configuration in my application to connect to the cluster. The issue is that the 'connect' even constantly loops printing out 'Connected to Redis!'. The events for 'ready' and 'error' are never fired.

In the end, the 'connect' event should only fire once. Does anyone have any thoughts on this?

0 投票
1 回答
333 浏览

laravel - 我在浏览器端需要什么 URI 才能从 heroku 的 redis 插件连接到亚马逊 redis 服务器

我正在尝试使用 redis 和 socket.io 在 heroku 上设置一个聊天应用程序,但我无法弄清楚我应该在客户端放置什么 uri。

我尝试过的所有 uri,给我一个 404、name_not_resolved 或超时错误。


我有一个运行 node.js buildpack 的 heroku 应用程序,它所做的只是运行 socket.js 文件。

我还有另一个 php heroku 应用程序,它有 laravel 后端和 redis 广播和一个 vue 前端。


广播设置为当有人发布帖子或发出 '/' 的 GET 请求时,会分别在 'new-post-channell' 和 'user-entered-chat-c​​hannel' 上触发一个事件。


我可以进入 socket.js 应用程序的 bash 并运行“node socket.js”。我可以看到它连接到 heroku 的 redis 插件亚马逊服务器并接收广播。

我还可以进入第二个应用程序的 heroku 的 redis-cli,进入监控模式,并查看广播是否按预期接收。


这一切都在一个流浪的宅基地虚拟服务器上工作,但在 heroku 上却没有。

(也许您还知道如何在我的第一个应用程序上自动运行“node socket.js”命令,这样我就不必进入 heroku 的 bash 并手动运行它?)

0 投票
1 回答
35 浏览

ioredis - redis关闭后一直重连?

我关闭了redis来检查错误句柄,但它一直在重新连接

错误消息日志:

0 投票
2 回答
10191 浏览

javascript - Redis (ioredis) - 无法捕捉连接错误以优雅地处理它们

我试图优雅地处理redis错误,以绕过错误并做其他事情,而不是让我的应用程序崩溃。

但到目前为止,我还不能仅仅捕获 ioredis 抛出的异常,它绕过了 mytry/catch并终止了当前进程。这种当前行为不允许我优雅地处理错误并从替代系统(而不是 redis)获取数据。

我正在模拟一个错误的密码/url,以查看 redis 在配置错误时的反应。我已经设置lazyConnecttrue处理调用者的错误。

但是,当我将 url 定义为localhoste:6379 (而不是localhost:6379)时,我收到以下错误:

这是我的代码:

我的理解是redis错误是通过client.emit('error', error)异步处理的,被调用者不会抛出错误,也就是不允许调用者使用try/catch处理错误。

是否应该以非常特殊的方式处理 redis 错误?难道不能像我们通常对大多数错误所做的那样捕获它们吗?

此外,在抛出致命异常(进程停止)之前,redis 似乎重试了 20 次连接(默认情况下)。但我想处理任何异常并以我自己的方式处理它。

我通过提供错误的连接数据测试了 redis 客户端的行为,这使得无法连接,因为该 url 上没有可用的 redis 实例,我的目标是最终捕获各种 redis 错误并优雅地处理它们。

0 投票
1 回答
4783 浏览

node.js - ioredis 错误:连接 ETIMEDOUT - 无法连接到本地 redis 服务器

在我的 node.js 后端,我初始化了一个 redis 服务器:

不幸的是,我总是收到此错误消息:

我在本地安装了redis并使用redis-cli ping本地服务器,没有设置密码。它总是给出肯定的答案,但我似乎无法通过 ioredis 找到它。有人有想法吗?

0 投票
1 回答
596 浏览

node.js - 当我尝试从 Kubernetes 内部连接到 Redis 时,总是连接失败

我在 Kubernetes 集群中部署了我的节点应用程序,当应用程序尝试从 Kubernetes 外部连接到 Redis 时,它会引发以下错误:

我尝试在 kubernetes 集群中部署 redis-cli,它可以访问 redis 服务。

0 投票
1 回答
393 浏览

javascript - 连接到 Redis 缓存失败

我有一个节点应用程序连接到托管在 azure 上的 redis 缓存,但是每当我尝试连接到它时,连接都会失败并显示错误消息

我已通过端口启用安全连接并相应地配置了我的节点应用程序

module.exports = 客户端;

这是我在启动应用程序时遇到的错误:

API 运行了一段时间没有任何问题,但随后开始抛出此错误。我的同事在运行相同的服务时没有问题,我假设这是我的机器证书或缺乏导致问题的原因。有什么解决方案或建议吗?

0 投票
2 回答
1410 浏览

node.js - 具有匹配模式的 ioredis 键

我想用键匹配模式'LOGIN::'搜索redis数据库。我在我的应用程序中使用 ioredis。昨天我搜索了整个网络,但我得到的选项很少,如下所示:

扫描流

问题:

Redis 实例中缺少 scanStream 方法,或者如果我做错了什么,请告诉我。

0 投票
1 回答
872 浏览

javascript - Redis 不会立即删除 key

编辑:原来是导致这个的节点。for 循环在等待 promise 解决之前以某种方式运行下一次迭代。Redis 在这里不做任何事情。

我有一个程序可以遍历一系列我想与 Redis 中的键进行比较的东西。如果条件已满,我想从数据库中删除密钥。我正在为此使用ioredis。代码如下:

问题是当我运行这段代码时,在第一次迭代时一切正常。但是在第二次迭代中,应该删除的键被列在了 SCAN 结果中。即使使用 KEYS 仍然会显示它。我不知道这是否是我的 Node.JS 或 Redis 的错误。

抱歉,如果问题难以阅读。这是我的第一个问题。