node.js - 错误 : [ioredis] Unhandled error event: Error: connect ETIMEDOUT

标签 node.js redis

我在我的 Node 应用程序中遇到了 redis 连接超时问题。

我试过这段代码,

new Redis({
  connectTimeout: 10000
})

但是没有用,它没有帮助我编写代码

[ioredis] Unhandled error event: Error: connect ETIMEDOUT
    at Socket.<anonymous> (/code/node_modules/ioredis/lib/redis.js:291:21)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
    at Socket._onTimeout (net.js:407:8)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)

最佳答案

当您说到容器时,我假设您指的是 docker 容器。如果您使用的是 docker 网络,我相信您始终可以将主机更改为网络中您的 docker 容器的名称。如果您使用的是 docker-compose,这里有一个关于如何完成的想法:

version: '3'
services:
  app:
   image: app_image
   depends_on:
    - redis
   networks:
    - app_network
  redis:
   image: redis
   networks:
    - app_network
networks:
  app_network: {}

所以在你的应用中,你会做

redis = new Redis({
  host: 'redis://redis'
})

关于node.js - 错误 : [ioredis] Unhandled error event: Error: connect ETIMEDOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274522/

相关文章:

redis - 如何实现Redis Labs Enterprise Cluster High Availability?

c# - SignalR 或 Redis pubsub 用于 Azure 上的缩放发布者和缩放订阅者

c - 根本没有使用Redis静态函数

python - 如何为具有许多不同查询变量的 Python Web 应用程序构建数据库缓存(memcached/Redis)?

javascript - 功能未达到

javascript - 如何在命令中设置 process.env 变量并在 webpack 文件中检索

node.js - nginx:无效选项: "off"和 entrypoint.sh::权限被拒绝

ruby-on-rails - 如何评估 Rails 应用程序中 Redis 键值的内存占用?

node.js - 能够连接到本地 Docker 容器中运行的 MongoDB,但不能从另一个容器连接

node.js - 为什么NodeJs服务器两次返回相同的数据?