mysql と同様に、redis もマスター/スレーブ レプリケーションと読み取り/書き込み分離をサポートしており、構成は mysql よりもはるかに簡単です。 Redis のマスター/スレーブ レプリケーションを見てみましょう。
レプリケーションの確立
デフォルトでは、Redis がマスター ノードです。次に、マスター/スレーブ レプリケーションを有効にする方法を説明します。
まず、2 つの Redis サービスを開きます。バインドされたポートと永続ファイルが異なることを除いて、これら 2 つの Redis サービスは同じ構成です。
127.0.0.1:6379> keys * 1) "age" 2) "name" 127.0.0.1:6380> keys * (empty list or set)
6379 現在 2 つの Redis サービスがあります。 6380 は現在空です。 6379 がマスター ノード、6380 がスレーブ ノードとして、6379 と 6380 の間にマスター/スレーブ関係を確立します。
レプリケーションを確立するには 2 つの方法があります:
6380 の構成ファイルを変更し、構成ファイルに 127.0.0.1 6379 のスレーブを追加してから、redis サービスを再起動します。
動的変更。slaveof 127.0.0.1 6379
127.0.0.1:6380> slaveof 127.0.0.1 6379 OK 127.0.0.1:6380> keys * 1) "name" 2) "age"
と直接入力します。レプリケーションが確立され、6380 データが作成されたことがわかります。 6379 と一致します。
6379 と 6380 でそれぞれ info replication コマンドを実行して、関連情報を確認します。
127.0.0.1:6379> info replication # Replication role:master connected_slaves:1 …… 127.0.0.1:6380> info replication # Replication role:slave master_host:127.0.0.1 master_port:6379 ……
レプリケーションの切断
レプリケーションの切断操作は非常に簡単で、誰でもないスレーブを実行するだけです。
127.0.0.1:6380> slaveof no one OK
さらに、マスター ノードを直接切り替えることもできます。たとえば、現在 6380 は 6370 のスレーブ ノードであり、6380 は 6379 のマスター/スレーブ関係を切断し、6381 との新しいレプリケーション関係を確立したいと考えています。次に、6380 は、slaveof 127.0.0.1 6381 を実行するだけで済みます。
ただし、マスターを切断する際には、スレーブノード以前のデータが消去され、新しいマスターノードのデータがコピーされるので注意が必要です。したがって、以前のデータが役に立ち、バックアップされていない場合は、メイン操作を実行できません。
#パスワード検証#マスター ノードが requirepass で構成されている場合、スレーブ ノードは masterauth を設定する必要があります
読み取り専用デフォルトでは、スレーブ ノードは読み取り操作を実行しますが、書き込み操作は実行できません。これは非常に必要なため、スレーブ ノードが書き込み操作を実行すると、マスター ノードとスレーブ ノードの間でデータの不整合が発生します。スレーブノードから書き込みたい場合は、設定項目slave-read-only=noを変更するだけです。
アプリケーション シナリオRedis レプリケーションの一般的なアプリケーション シナリオには、
以上がRedis のマスター/スレーブ レプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。