问题标签 [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 回答
49 浏览

node.js - 根据键值从 Redis 查询


我需要编写一个节点 js 应用程序,它将基于密钥连接到 REDIS,然后根据最新时间戳更新密钥。这个时间戳将是一个属性,它将作为键的值出现。
例如 client.set(key,object) ,其中key -- productId
object -- {
"productName" : "abc",
"make" : "abc",
"expiry" : "abc",
"timestamp": " 333333" }

有什么方法可以获取时间戳并检查它是否是最新的,然后更新记录。我目前正在使用具有集群功能的ioredis 库

0 投票
3 回答
15462 浏览

node.js - ioredis 未处理的错误事件:错误:连接 ETIMEDOUT

有没有人在使用 node js ioredis 包连接到独立的 redis 服务器时遇到以下错误?

以下是错误堆栈跟踪:

这是在节点 js 中仅实例化独立 Redis 对象时发生的。下面是我正在使用的代码,

任何解决方案将不胜感激。

0 投票
1 回答
923 浏览

node.js - 使用 ioRedis 连接到 ElastiCache 时出现随机 SSL 握手错误

我正在尝试使用 ioRedis 从节点脚本连接到在传输过程中加密的 ElastiCache 集群。有时我的脚本有效,有时我得到Error: 140736319218624:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1216:

这是我的所有代码:

0 投票
1 回答
62 浏览

redis - 在 ioredis 上使用“zrevrange”和“scale reads: slaves”的问题

我们目前正在为 nodejs 使用“ioredis”适配器。我们的一些逻辑是调用非集群 redis,我们希望使用“scale reads”属性来扩展调用,该属性将命令发送到“副本”以减少主节点的负载。

问题是我们使用的最常用的命令是“zrevrange”,它根本不调用副本。

ioredis 版本:2.5.0,我们使用的 redis 在 AWS ElastiCache 引擎版本:3.2.4

0 投票
0 回答
249 浏览

redis - 如何将ioredis连接到谷歌云功能?

我目前正在运行一些谷歌云功能(在打字稿中),这些功能需要连接到 Redis 实例才能LPUSH进入队列(在其他实例上,我使用 Redis 作为队列工作者)。
一切都很好,除了我收到大量相关错误ECONNECTRESETECONNECTIMEOUT尽管一切正常。

以下代码可以在云功能上成功执行,但我仍然看到与 Redis 的连接相关的持续错误。

我认为这与我如何导入我的client- ioredis. 我有utils/index.tsutils/redis.js在里面redis.js我有:

然后我utils/index.ts像这样导入它:缺少代码

并导出一些 aysnc 函数,例如:缺少代码

GCF环境中执行时,我得到了预期结果的数量,results.length并且我看到(通过在内部监视 Redis)这个列表按预期推送到队列中。

然而,这些错误仍然不断出现。

0 投票
0 回答
513 浏览

redis - 谷歌云函数和 Redis:ECONNRESET

有谁知道为什么我在使用 ioredis 模块时不断从云功能(谷歌云功能)中得到这个错误?

[ioredis] 未处理的错误事件:错误:在 TLSWrap.onread (net.js:628:25) 的 _errnoException (util.js:1022:11) 处读取 ECONNRESET

错误日志示例 错误永远不会停止。它不会影响正常操作(意思是,我可以使用 ioredis 模块和我的 redis 执行所有需要的操作)。它非常令人讨厌,并且无法调试云功能性能。

注意:在 Microsoft Azure 上使用 redis 缓存(尽管我也尝试在 google 计算上使用自我管理的 redis),高级层。

我怀疑这一定与我如何实例化 redis/导入它有关。我只在一个文件 utils/index.ts 中使用它,并且像这样实例化它:

我尝试过 no-TLS,创建新的缓存,以及几乎所有我能想到的东西。任何对 ioredis 及其与云功能的兼容性有深入了解的人,请帮助!m 注意:我实际上已经尝试过使用 node_redis 与 ioredis - 仍然有这个问题。

utils/index.ts 编辑:来自https://gist.github.com/nicoandmee/c38d2b014b4377a4f386a0a0ae9a85e5的完整示例代码 这是我的“index.ts”,这是我的入口点(我正在导出实际的 firebase 函数)。 https://gist.github.com/nicoandmee/6e1d7d319effa1f23141b7148e3459c7

这是我说它不影响正常操作时的意思的一个例子。在这里我的函数成功执行,但错误仍然不断弹出,几秒钟后。我的代码运行良好,但由于 ECONNRESET 的所有这些垃圾邮件都被抛出,我几乎无法判断。也许有一种方法可以抑制这个错误/处理它?因为它不会影响我的代码。 示例 2

0 投票
2 回答
4157 浏览

node.js - 连接到集群时如何关闭ioredis(nodejs模块)?

我编写了一个使用 ioredis 的模块和一些测试来配合它。

问题是,当我在集群模式下连接 ioredis 时,mocha 在完成后挂起,即使我调用redis.disconnect().

似乎某些东西仍然绑定到事件循环。

这是我的测试:

0 投票
1 回答
2384 浏览

node.js - node_redis(npm redis模块)是否支持redis集群模式或者我们必须使用ioredis?

我们在 node js 上使用 node_redis(npm redis 模块)来连接 AWS elasticache。我们现在计划使用集群模式并在使用 node_redis 时查看失败。它不处理 MOVE 命令。

我们是否必须为 node_redis 做任何特定的事情才能在集群模式下工作?还是不支持,我们必须使用ioredis?

0 投票
1 回答
3110 浏览

node.js - 为什么 async/await 不同步 ioredis get 方法在 forEach 循环中的执行?

异步/等待方法:

另一个函数的回调方法:

我想等到 curObj 变量设置并按顺序执行代码以打印“完成等待”。我使用了 async/await,但它似乎没有按预期工作。然后我用相同的get方法使用回调仍然相同。我使用 ioredis 库。

我做错了什么?

0 投票
1 回答
340 浏览

node.js - Setting function type in JSON redis using nodejs

Hi I am trying to store a JSON in redis using ioredis. This JSON comprises of one function too. The structure of my json is something like:

I am using IOredis to store this json in redis:

When I am doing this the determineConfig key is truncated from the object as JSON.stringify removes it if the type is function. Is there some way I can store this function in redis and excute that once I get the data back from redis. I do not want to store the function as a string and then use eval or new Function to evaluate.