问题标签 [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.
node.js - 我正在尝试从 heroku 连接到在线 redis 服务器,但我的连接被拒绝
我正在为 Node.js 使用 Redisioredis
包[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14) Redis Error: { ReplyError: NOAUTH Authentication required.
(这是我的代码
请问我该如何解决这个问题?还有为什么我仍然得到这个Error: connect ECONNREFUSED 127.0.0.1:6379
PS Redis 在我的本地主机上完美运行
node.js - 为什么 redis-benchmark 性能与实际应用程序基准测试不同
上述基准提供每秒 19k 的请求
但是我的 Nodejs Benchmarking for 'set' 命令每秒只提供 10k 请求
那么,与我的 nodejs 应用程序每秒 10k 请求相比,为什么 redis-benchmark 每秒有 19k 请求?
node.js - Hapi catbox 无法连接到 redis 服务器
首先,我想说我是 Hapi 的新手,所以不要过分评价我。
我正在按照本教程catbox
尝试使用和包设置基于 Redis 的服务器端缓存catbox-redis
npm
,但出现以下错误:
如您所见,它说错误在ioredis
(根据 package-lock.json 的 v4.14.1)包中,它是catbox-redis
.
我在本地运行 Redis 服务器。
这是我的package.json
:
这是我的src/index.ts
:
任何想法我做错了什么?我在这个问题上花了很多时间,所以任何帮助都将不胜感激。
javascript - 如何在 Redis 客户端中安全地设置过期时间?
我遇到了奇怪的麻烦,我必须redis
在给定的毫秒后设置密钥过期。在我做了以下几项工作后没有问题:
现在过期哪个 redis 支持在 Seconds 中,现在我目前正在从事的整个项目使用 MilliSecond 库短 MS(https://www.npmjs.com/package/milliseconds)。
如何安全地将每毫秒转换为 redis 客户端可以支持的秒?
笔记:
假设如果客户端请求密钥在 15 秒内过期而不是分钟格式,它将像 0.14 那样 redis 客户端不支持 [将发生超出范围错误]。请任何人都可以帮助我做一些可以将毫秒转换为秒的冗余操作,以保持密钥必须过期的时间。
还是我错过了什么?
node.js - AWS Redis 读取器端点和 ioredis
我们希望我们的 Redis 更具可扩展性,并且我们希望能够添加更多读取实例。
我正在尝试使用这个新的 Reader 端点:https ://aws.amazon.com/about-aws/whats-new/2019/06/amazon-elasticache-launches-reader-endpoint-for-redis
但是,我没有看到任何简单或自动化的方法ioredis
来使用这种方法,我可以设置哪个端点用于写入,哪个端点用于读取。即使在这里我也可以看到最后推荐的方法是“手动拆分”:https ://github.com/luin/ioredis/issues/387
您是否知道任何现有的解决方案或好的方法,我可以设置哪些端点将用于写入以及哪个端点将用于读取?
现在对我来说最直接的是某种“代理”层,我将在其中创建两个 Redis 实例,并将所有写入发送到主端点,并将所有读取发送到 Reader 端点。但是,我更喜欢一些更好(或经过良好测试)的方法。
PS:我试图用 的Cluster
功能“破解它” ioredis
,但即使是没有任何功能的简单连接和一个 - 主要端点 - 失败ClusterAllFailedError: Failed to refresh slots cache.
(启用阅读器端点 - 集群模式必须关闭)
node.js - 尝试使用 ioredis nodejs 模块使用密码连接到哨兵时出错
我正在尝试使用 ioredis 连接到我在 docker 下的哨兵服务,这需要在我的配置中输入密码。这是我的代码:
但它没有成功。这是激活 DEBUG=ioredis 时的日志:
根据日志,我看到我的redis客户端可以连接到sentinel,它也在sentinel模式下找到了真正的redis服务器并选择了数据库。我得到了redis已连接的日志,但在那之后,连接被关闭了。我在哪里失踪?
PS:我还添加了配置 snetinel-annouce-ip,以防我的 redis 客户端无法识别哨兵的 ip,但在日志中,它得到了良好的私有 ip:192.168.0.35。
谢谢你的帮助。
node.js - 无法将工作进程附加到 Bull Queue
我一直在为我们的项目广泛使用 Bull 库。几天前,我们在处理 Bull Queue 的作业时发现了这个问题。我们能够在 Bull Queue 中添加作业,但它无法处理该作业。当我签入工作组时,我们注意到作业延迟/失败,错误响应为空。我认为这是因为工作进程没有附加到队列中。如果我在一段时间后尝试重新启动进程,则相同的代码可以正常工作。我不确定这是 Redis 或 Bull 的问题还是我使用它的方式。问题是我可以添加作业,但作业未处理。(仅在某些情况下出乎意料)
示例代码片段:
我如何使用它:
包装清单:
node.js - 使用 Nodejs 配置 Redis TLS
我正在使用 ioRedis 节点包将我的节点 js 应用程序连接到由 TLS 保护的 redis 服务器。我使用的 Redis 版本是 Redis 6.0。我的服务器使用证书运行良好,但是从节点应用程序连接时出现错误。
nodejs应用程序端的错误是
尝试从 nodejs 应用程序连接时服务器出错
17:29:44.295 # Error accepting a client connection: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
目标只是与 TLS 安全建立 redis 连接。
javascript - 为什么启用keep-alive时ioredis客户端超时?
当我的脚本闲置一段时间时,我收到以下错误。我无法理解这其中的原因。
我将我的 redis 客户端初始化为:
我正在使用ioredis 客户端。
有谁知道这是什么原因?按照这里的建议https://github.com/luin/ioredis/blob/master/API.md已经默认启用了 keep-alive
如果发生超时,我希望客户端永远不会超时并重新连接。我正在使用 Azure 的 Redis 服务。
node.js - 当从 AWS ElastiCache Redis 中“获取”时,nodejs 中的 ioredis 什么都不做
我在 ECS 上托管的 nodejs 容器中运行以下代码。这在本地使用 redis 运行良好。在 AWS 中,它似乎可以连接(如果我使用无效地址,它会在连接时出错,所以我假设它已连接)。当我跑步时,redis.get(
什么也没有发生。我已经为 ioredis 启用了调试,当我尝试获取时收到 1 条消息:
这是代码
我已确认安全组,ElastiCache 与我的 ECS 容器位于同一 VPC 中。我能做些什么来解决这个问题?
更新
我换了ioredis
,redis
它仍然发生,nada ...