我在我的 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/