問題タブ [ioredis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
20115 参照

node.js - Redis センチネルがマスターに接続されていません: エラー: READONLY 読み取り専用スレーブに対して書き込むことはできませんか?

私は建築家とこれredis replicationを持っています:sentinel

5 台のサーバー: .1.2.3.4および.5

  • .1: nodejs アプリ、redis マスター、redis センチネル
  • .2: nodejs アプリ、redis スレーブ
  • .3: nodejs アプリ、redis スレーブ
  • .4: redis センチネル
  • .5: redis センチネル

Sentinel は期待どおりにフェイルオーバーを処理します。 redis-cli -h x.y.z.5 -p 26379 sentinel get-master-addr-by-name mymaster常にリターン.1サーバーです。

このレプリケーションに接続するための私のコード ( ioredisを使用):

次に、.1nodejs アプリは正常に実行されますが、.2.3で、次のログでエラーが発生します。

P/s: 私の redis サーバーは、サーバー IP と127.0.0.1. がない127.0.0.1と、次のエラーが発生するためです。

だから、私のアプリはredis server経由sentinelではなく、直接接続していると思いlocalhostます。

どんな助けも感謝しています!

更新:オンにするとログに記録しますDEBUG=ioredis:*

更新 2: もう 1 つ、環境を使用してローカル マシンでアプリを実行するproductionと、すべてが魅力的に機能します!!!

0 投票する
1 に答える
311 参照

promise - ioredis bluebird プロミスがハンドラーで作成されましたが、ハンドラーから返されませんでした

この警告が表示される理由を誰かに説明してもらえますか警告: プロミスはハンドラーで作成されましたが、次のコードを実行するとハンドラーから返されませんでした:

残りのコードは次のとおりです。

私は次のライブラリを使用しています: ioredis & bluebird. コードは正常に実行され、すべてが正常に機能します。解決できない警告が表示されるという事実が気に入らないだけです。