有谁知道为什么我在使用 ioredis 模块时不断从云函数(谷歌云函数)中收到此错误?
[ioredis] 未处理的错误事件:错误:在 TLSWrap.onread (net.js:628:25) 的 _errnoException (util.js:1022:11) 处读取 ECONNRESET
错误日志样本 https://i.stack.imgur.com/HsJSw.png错误永远不会停止。它不会影响正常操作(也就是说,我可以使用 ioredis 模块和我的 redis 执行所有所需的操作)。它非常令人讨厌,并且无法调试云函数的性能。
笔记:
在 Microsoft Azure 上使用 redis 缓存(尽管我也在 google 计算上尝试过自我管理的 redis),高级层。
我怀疑这一定与我实例化 redis/导入它的方式有关。我仅在一个文件 utils/index.ts 中使用它,并像这样实例化它:
const redis = new Redis(6380, 'myredis.redis.cache.windows.net', { tls: true as any, password: 'azuresucks=' });
我尝试过 no-TLS、创建新的缓存以及我能想到的几乎所有其他方法。任何对 ioredis 及其与云功能的兼容性有深入了解的人,请帮忙!m 注意:我实际上已经尝试过使用 node_redis 与 ioredis - 仍然存在这个问题。
编辑:完整示例代码来自utils/index.ts
https://gist.github.com/nicoandmee/c38d2b014b4377a4f386a0a0ae9a85e5 https://gist.github.com/nicoandmee/c38d2b014b4377a4f386a0a0ae9a85e5这是我的“index.ts”,它是我的入口点(我在其中导出实际的 firebase 函数)。https://gist.github.com/nicoandmee/6e1d7d319effa1f23141b7148e3459c7 https://gist.github.com/nicoandmee/6e1d7d319effa1f23141b7148e3459c7
这是我所说的不影响正常操作的例子。这里我的函数执行成功,但几秒钟后错误仍然不断弹出。我的代码运行良好,但我几乎无法分辨,因为所有这些来自 ECONNRESET 的垃圾邮件都被抛出。也许有一种方法可以抑制这个错误/处理它?因为它不会影响我的代码。示例2 https://i.stack.imgur.com/izH92.png