RedisToGoを使用し、Herokuで実行しているnode.jsアプリがあります。テストのためにRedisToGoデータベースをローカルホストにコピーしたいと思います。
Ruby on Railsアプリを開発するときは、heroku db:pull
コマンドを使用できます。node.jsとRedisに使用できる同様のコマンドはありますか?
ありがとう。
redistogo サポート ナレッジ ベースから入手できるガイドがありましたが、削除されました。復路マシンを使用して内容を取得し、要点を作成しました: https://gist.github.com/mmcdaris/29cfe920c846ae6dd5c6eb354c9abdd2 同じ結果の別の方法。
Redis のローカル インスタンスを RedisToGo インスタンスにスレーブ化できます - http://redistogo.com/documentation/exporting
これらは、Heroku Redis インスタンスのローカル バックアップを作成するために行った手順ですが、これは RedisToGo や RedisCloud などの他のプロバイダーにも有効なはずです。
バックアップを作成するマシンで、redis CLI にジャンプします。
redis-cli
マスター Redis DB (レプリケートするもの) にパスワードがある場合:
config set masterauth <password>
次を実行して、レプリケーションを開始します。
SLAVEOF <host> <port>
レプリケーションが進行中であることを確認するには、次を実行します。
INFO replication
次のように表示されます。
# Replication
role:slave
master_host:some-host.compute-1.amazonaws.com
master_port:6519
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:35492914
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
は であることに注意してmaster_link_status
くださいup
。
同期が完了すると、次のようにINFO replication
表示されます。
master_sync_in_progress:0
データセットが同期されたことを確認するには、データベースのサイズを比較できます。
DBSIZE
フォロワーとマスター DB の一致のキーの数を指定して、DB をディスクに保存します。
BGSAVE
CONFIG GET dir
dump.rdb
そして、config コマンドによって一覧表示されたものを見つける必要があります。
最後に、次の方法でレプリケーションを停止できます。
SLAVEOF NO ONE