Table Of Contents

Previous topic

追記専用ファイルモード

Next topic

Redisのクラスタリング

This Page

レプリケーションの設定方法

一般的な情報

Redisのマスタースレーブのレプリケーションの利用と設定はとても簡単です。マスターにスレーブからの接続許可を出すだけで利用できます。以下は、レプリケーションに関するいくつか重要な情報があります。

  • マスタは、複数のスレーブを持つことができます。
  • スレーブはさらに複数のスレーブを持つことが出来ます。
  • Redisレプリケーションは、マスター側では非同期で動作します。これにより、複数のスレーブからのリクエストがあった場合にも、マスターの動作は継続的に行われます。代わりに、最初の同期を実行している間にレプリケーションは、スレーブ側でブロックされています。スレーブがクエリに返信することはできません
  • 読み込み専用のスレーブを複数使用することでスケーラビリティを確保することが出来ます。また、冗長性も確保されます。

どのようにRedisはレプリケーションしているのか?

レプリケーションを開始するか、または切断後にマスターが再連動するように設定されたとき、スレーブは、マスターにSYNCコマンドを発行します。

マスターでは、バックグランドで保存が行われると同時に、次のコマンドの受付が始まります。変更されたデータセットを保存すると同時に各スレーブへのシンクとメモリーへのロードが行われます。

TelnetでRedisの動作をご自身で確かめることが出来ます。実行中のReidsサーバへ接続を行ないSYNCコマンドを発行します。その後RedisサーバへBulk転送を行うとコマンド毎にtelnetセッション側でも確認することが出来ます。

スレーブは、何らかの理由で切断されたとしても、自動的に再接続を行えます。マスターに複数のスレーブからのSYNCリクエストが来た場合でも、すべてのリクエストにバックグランドで順番に応えます。

コンフィギュレーション

レプリケーションを構成するには、単にスレーブのコンフィギュレーションファイルに次の行を追加するだけで簡単に追加出来ます:

slaveof 192.168.1.1 6379

上記設定内のIPアドレス(またはホスト名)とポートをあなたの使用しているマスターサーバの物に置き換える必要があります。