6

node js ioredis パッケージを使用してスタンドアロン redis サーバーに接続しているときに、以下のエラーに遭遇した人はいますか?

以下は、エラー スタック トレースです。

2018-08-16T10:52:18.351869060Z [ioredis] Unhandled error event: Error: connect ETIMEDOUT
2018-08-16T10:52:07.449457296Z at Timer.listOnTimeout (timers.js:207:5)
2018-08-16T10:52:07.449448499Z at tryOnTimeout (timers.js:237:5)
2018-08-16T10:52:07.449439722Z at ontimeout (timers.js:365:14)
2018-08-16T10:52:07.449430834Z at Socket._onTimeout (net.js:339:8)
2018-08-16T10:52:07.449421915Z at Socket.emit (events.js:185:7)
2018-08-16T10:52:07.449413002Z at emitNone (events.js:86:13)
2018-08-16T10:52:07.449403458Z at Socket.g (events.js:291:16)

これは、ノード js でスタンドアロンの Redis オブジェクトのみをインスタンス化するために発生しています。以下は私が使用しているコードです、

var publisher = new redis(redisPort, redisHost);

どんな解決策も高く評価されます。

4

3 に答える 3

6

ioredisデフォルトのタイムアウト値があるため、おそらくタイムアウト制限を増やしてみることができます。

通常、次のように設定します。

new Redis({
  connectTimeout: 10000
})

あなたの場合、あなたが持っているので、

var publisher = new redis(redisPort, redisHost);

connectTimeoutそれに応じて渡されるパラメーターを渡すようにコードを編集する必要があります。

お役に立てれば。

于 2018-08-16T11:32:20.037 に答える