まず、slaveof masterHost masterPort をスレーブ ライブラリ構成ファイルに追加して、対応するマスター ライブラリを指定します。この時点でスレーブ ライブラリを開始すると、redis はマスターに接続するための指定された IP とポート番号を見つけます。それが実行中の redis サーバーの場合は、slaveof masterHost masterPort コマンドを実行してスレーブ ライブラリからレプリケーションを開始できます。 。
#次の表は、マスター/スレーブ レプリケーション中に Redis が実行する手順を示しています。マスター サーバー | スレーブ サーバー | |
---|---|---|
通常の操作... | 同期コマンドを送信してメイン サーバーに接続します | |
bgsave コマンドを実行し、後続の書き込みコマンドをバッファに記録します。
| スレーブが構成されている場合 - serve-stale-data が yes (デフォルト設定) の場合、スレーブ ライブラリはクライアントのリクエストに応答し続けます。それ以外の場合は、INFO および SLAVOF コマンド以外のリクエストはクライアント にエラー メッセージを返します。 | #3|
bgsave | 実行後、スナップショット ファイルをスレーブ ライブラリに送信し、この期間中はバッファを使用して書き込みコマンドを記録し続けます
すべてのデータを破棄します | 、メイン ライブラリのスナップショット ファイルをロードします 4 |
スナップショットの解釈操作を完了し、通常通りコマンドリクエストの受信を開始 | ##5 | |
がメイン ライブラリから送信されたバッファ内のコマンドを実行します 実行完了後、各書き込みコマンドを受信して実行しますメイン ライブラリによって送信されます | スレーブ ライブラリがコピーを開始すると、まず自身のデータをクリアすることに注意してください。 |
列に注目してください。
以上がRedis マスター/スレーブ レプリケーションの作成プロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。