MySQL マスター/スレーブ レプリケーションと同じ理由で、Redis は読み取りと書き込みが非常に高速ですが、非常に高い読み取りプレッシャーが発生する可能性もあります。読み取りプレッシャーを共有するために、Redis はマスター スレーブ レプリケーションをサポートしています。Redis のマスター スレーブ構造は、1 つのマスターと複数のスレーブ、またはカスケード構造を使用できます。 次の図は、カスケード構造を示しています。 (推奨学習: Redis ビデオ チュートリアル )
Redis のマスター/スレーブ レプリケーションは、完全同期と増分同期に分類できます。いっぱいかどうか。
1 完全同期
Redis の完全レプリケーションは通常、スレーブの初期化フェーズ中に発生します。このとき、スレーブは転送する必要があります。マスター上のすべてのデータをコピーします。両方のコピーを作成します。具体的な手順は次のとおりです:
1) スレーブ サーバーはメイン サーバーに接続し、SYNC コマンドを送信します;
2) メイン サーバーは SYNC ネーミングを受信した後、 RDB ファイルを生成し、バッファ レコードを使用する BGSAVE コマンド その後実行されるすべての書き込みコマンド;
3) マスター サーバーの BGSAVE が実行された後、スナップショット ファイルがすべてのスレーブ サーバーに送信され、実行された書き込みコマンドは引き続き実行されます。送信期間中に記録される;
4) スナップショット ファイルを受信した後、スレーブ サーバーは古いデータをすべて破棄し、受信したスナップショットをロードします;
5) マスター サーバーのスナップショットが送信された後、バッファ内の書き込みコマンドのスレーブ サーバーへの送信を開始します。
6) スレーブ サーバーはスナップショットのロードを完了し、コマンド要求の受信を開始し、マスター サーバーのバッファから書き込みコマンドを実行します。
上記の手順を完了すると、スレーブ サーバーのデータの初期化が完了します。すべての操作において、スレーブ サーバーはユーザーからの読み取りリクエストを受信できるようになります。
2 増分同期
Redis 増分レプリケーションとは、スレーブが初期化されて開始されるときに、マスター サーバーで発生する書き込み操作をスレーブ サーバーに同期するプロセスを指します。正常に動作しています。
増分レプリケーションのプロセスは、主に、マスター サーバーが書き込みコマンドを実行するたびに、同じ書き込みコマンドをスレーブ サーバーに送信し、スレーブ サーバーが受信した書き込みコマンドを受信して実行するというものです。
3 Redis のマスターとスレーブの同期戦略
マスターとスレーブが接続されたばかりの場合は完全同期が実行され、完全同期が完了すると増分同期が行われます。は発表された。もちろん、必要に応じて、スレーブはいつでも完全な同期を開始できます。 Redis の戦略では、何があっても最初に増分同期が試行され、失敗した場合はスレーブ マシンが完全同期を実行する必要があります。
Redis 関連の技術記事の詳細については、Redis 入門チュートリアル 列にアクセスして学習してください。
以上がRedisでマスターとスレーブを同期する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。