我在节点应用程序中遇到了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)
答案 0 :(得分:0)
当您说容器时,我假设您的意思是docker containers
。如果您使用的是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'
})