マスターとスレーブの両方で「保存」コマンドをコメントしました。これは、メモリ キャッシングでのみ実行し、ファイルに保持したくないためです。これは正常に機能しますが、マスターがダウンするとすぐに、スレーブがマスターに昇格する前に (実際には 1 分間フリーズします)、データのフラッシュが開始されます。スレーブがデータをフラッシュしないようにするにはどうすればよいですか。
ありがとうザファー
マスターとスレーブの両方で「保存」コマンドをコメントしました。これは、メモリ キャッシングでのみ実行し、ファイルに保持したくないためです。これは正常に機能しますが、マスターがダウンするとすぐに、スレーブがマスターに昇格する前に (実際には 1 分間フリーズします)、データのフラッシュが開始されます。スレーブがデータをフラッシュしないようにするにはどうすればよいですか。
ありがとうザファー
実際には、マスターがダウンしてもスレーブはデータをフラッシュしません。
マスターとの接続が失われ、再度接続が確立されると、マスターとの SYNC (以前のデータのフラッシュ) を開始します。
IMO、問題はマスターがすぐに再起動するため、スレーブがマスターに昇格する前に再接続できることです。
スレーブが昇格するまで、マスターの再起動を遅らせる必要があります。HA の自動化方法によっては、あまり便利ではない場合があります。簡単な (しかしあまり信頼できない) 解決策は、Redis インスタンスの開始スクリプトに遅延を入れることです。遅延は、スレーブがタイムアウトする前に昇格されることを 100% 確信できるように計算する必要があります。より複雑な解決策は、マスターの開始スクリプトでスレーブへの接続を試行し、開始を許可する前に INFO コマンドを実行してステータスを確認することです。
詳細については、次の説明を参照してください。
https://groups.google.com/d/topic/redis-db/wmRSuIgHcEs/discussion