ホームページ  >  記事  >  データベース  >  Redis マスター/スレーブ レプリケーションの概要

Redis マスター/スレーブ レプリケーションの概要

尚
転載
2020-03-23 09:31:302033ブラウズ

Redis マスター/スレーブ レプリケーションの概要

redis のレプリケーション機能は、複数のデータベース間のデータ同期をサポートすることです。 1 つはマスター データベース (マスター) で、もう 1 つはスレーブ データベース (スレーブ) です。マスター データベースは読み取りおよび書き込み操作を実行できます。書き込み操作が発生すると、データは自動的にスレーブ データベースに同期されます。スレーブ データベースは通常、読み取り専用で受信します。 マスター データベースから同期されたデータの場合、マスター データベースは複数のスレーブ データベースを持つことができますが、スレーブ データベースは 1 つのマスター データベースのみを持つことができます。

推奨: redis 入門チュートリアル

redis のマスター/スレーブ レプリケーション機能は、データベースの読み取りと書き込みを効果的に分離し、サーバーの負荷容量を向上させることができます。メイン サーバーは主に書き込み操作を担当し、スレーブ サーバーは主に読み取り操作を担当します。

マスター/スレーブ レプリケーション プロセス:

1: スレーブ データベースが開始されると、同期コマンドがマスター データベースに送信されます。

2: 同期コマンドを受信した後、メイン データベースはバックグラウンドでスナップショットの保存を開始し (RDB 操作を実行し)、その間に受信したコマンドをキャッシュします。

3: スナップショットが完了すると、redis はスナップショット ファイルとキャッシュされたすべてのコマンドをスレーブ データベースに送信します。

4: データベースからスナップショット ファイルを受信した後、スナップショット ファイルがロードされ、受信したキャッシュされたコマンドが実行されます。

注: redis 2.8 より前のバージョン: マスター/スレーブ データベースが同期されると、スレーブ データベースはネットワーク上の理由により切断および再接続された後に上記の操作を再実行し、ダウンロードの再開はサポートされていません。 Redis2.8 以降はブレークポイントの再開をサポートしています。

注: Redis 2.8 以降では、データのセキュリティを確保するために、少なくとも N 個のスレーブ ノードがある場合にのみマスター ノードが書き込み操作を実行できるように min-slaves-to-write を構成できます。スレーブ ノードは 1 秒に 1 回マスター ノードに ping を送信し、マスター ノードは各スレーブ サーバーが最後に ping を送信した時刻を記録します。ユーザーは、構成を通じて最大ネットワーク遅延 min-slaves-max-lag と書き込み操作の実行に必要なスレーブ サーバーの最小数を指定できます。

  min-slaves-to-write
  min-slaves-to-write 3
  min-slaves-max-lag 10

少なくとも min-slaves-to-write スレーブ サーバーがある場合は、これらのサーバーの遅延値が min-slaves-max-lag 秒未満の場合、メイン サーバーはクライアントによって要求された書き込み操作を実行します。 1 つの条件が満たされない限り、書き込み操作は実行されず、マスター サーバーは書き込み操作を要求しているクライアントにエラーを返します。

2. マスター/スレーブ レプリケーションのデプロイメント:

Redis マスター/スレーブ構造は 1 つのマスターと複数のスレーブをサポートします

マスター ノード: 192.168.1.170

スレーブ ノード: 192.168.1.171

注: すべてのスレーブ ノードの構成は同じです

方法 1: 構成ファイルを手動で変更します

追加のみスレーブ ノードでの変更が必要です。redis 構成ファイルの smileof 属性では、

slaveof 192.168.1.170 6379

170 マスター ノードで redis を起動し、redis 情報情報を表示します (info コマンドを実行します)

Redis マスター/スレーブ レプリケーションの概要

# 171 スレーブ ノードで redis を開始する

Redis マスター/スレーブ レプリケーションの概要#redis 情報情報を表示する

#方法 2: 動的設定

redis-cli 経由でスレーブノードサーバーに接続し、次のコマンドを実行します。

Redis マスター/スレーブ レプリケーションの概要 3. マスター/スレーブ レプリケーションで注意する必要がある問題:

① マスター/スレーブ レプリケーションを使用する場合、マスター永続性が有効になっています。または、クラッシュ後に自動的に再起動しないことを確認してください。スレーブはマスターの完全バックアップであるため、マスターが空のデータセットで再起動されると、スレーブもクリアされます。

② Redis レプリケーション機能の構成時にマスター データベースにパスワードが設定されている場合は、スレーブ データ構成ファイルの masterauth パラメーターを使用してマスター データベースのパスワードを設定する必要があります。これにより、スレーブ データベースは自動的にパスワードを取得します。 master データベースに接続するときに使用します。auth コマンドは認証されます。これは、パスワードなしのログインと同等です。

関連する推奨事項:

mysql ビデオ チュートリアル:

https://www.php.cn/course/list/51.html

以上がRedis マスター/スレーブ レプリケーションの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はoschina.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。