redis のデータを別のマシンに移行するにはどうすればいいですか?

データを 1 つの Redis サーバーから別の Redis サーバーに伝達するには、Redis のマスター-スレーブレプリケーションメカニズムまたは Redis のクラスターモードを使用できます。次に、それぞれの方法での操作の手順を説明します。

  1. マスタースレーブ構成
  1. ソースRedisサーバーのredis.conf設定ファイルを編集して、slaveof指令の設定でターゲットRedisサーバーにスレーブとして接続します。例えば、ターゲットRedisサーバーのIPアドレスが192.168.0.2、ポート番号が6379の場合、ソースRedisサーバーのredis.conf設定ファイルに次のように追加します。
slaveof 192.168.0.2 6379
  1. ソースRedisサーバーを再起動し、ターゲットRedisサーバーにスレーブとして接続し、データの同期を開始する
  2. データ同期完了後、元のRedisサーバーのデータは目標Redisサーバーへ転送されます。
  1. クラスタリングモード
  1. ターゲットRedisサーバー上の構成ファイルredis.confを編集し、cluster-enabledディレクティブをyesに設定して、cluster-config-fileディレクティブでクラスタ構成ファイルのパスを指定します。例:
cluster-enabled yes
cluster-config-file nodes.conf
  1. 対象Redisサーバーを起動し、redis-cliコマンドで対象Redisサーバーに接続します。
  2. redis-cli で CLUSTER MEET コマンドを使用して、ほかの Redis サーバーに接続します。たとえば、送信元の Redis サーバーの IP アドレスが 192.168.0.1、ポート番号が 6379 の場合、redis-cli でこのコマンドを実行します。
CLUSTER MEET 192.168.0.1 6379
  1. CLUSTER REPLICATE コマンドを使用して、ソース Redis サーバーをターゲット Redis サーバーのレプリカとして設定します。たとえば、ソース Redis サーバーの ID が abcdefg12345 の場合は、次のコマンドを redis-cli で実行します。
CLUSTER REPLICATE abcdefg12345
  1. ターゲットRedisサーバがデータの同期を開始します。同期が完了するまで待機すると、ソースRedisサーバのデータがターゲットRedisサーバに転送されます。

複製元と複製先で同じデータ構造とキー名をもたせる必要があることに注意してください。そうでなければ、データ転送が不完全または誤りになる可能性があります。RedisのKEYSコマンドまたはSCANコマンドを使って、複製元サーバ上のキー名を確認し、複製先サーバで対応するキーを作成できます。

bannerAds