Cluster、Sentinel、SSHトンネル接続に対応した、Redisデータベース管理用のクロスプラットフォームなデスクトップGUIクライアント。
tair-opensource/RedisShake
RedisやValkeyのインスタンス間でデータを移行・変換するGo製ツール。クラウド上のRedis互換サービスにも対応。
- スター
- 4,451
- フォーク
- 784
- 未解決の Issue
- 154
- 最終コミット
- 8 日前
これは何?
RedisShakeは、スタンドアロン、マスター・レプリカ、Sentinel、クラスター構成のRedisまたはValkeyインスタンス間でデータを移行します。ライブレプリケーション(PSync)、RDBファイル、キーのスキャンを使ってデータを読み込み、移行先のインスタンスに書き込めます。フィルタールールでプレフィックスやパターンに一致するキーを除外でき、スクリプトベースの関数を使って移行中にデータを独自に変換できます。
データベース間のデータ移行を想定しており、Alibaba Cloud(Tair)、AWS ElastiCache、MemoryDBのRedis互換サービスにも対応しています。TairString、TairZSet、TairHashなどのTairモジュールもサポートします。設定はバイナリに渡すTOMLファイルに記述し、Dockerイメージも利用できます。
プロジェクトのドキュメントによると、転送の再開には対応していないため、処理が中断されると全データを再同期して再実行します。また、クラスターのトポロジーが固定されていることを前提としており、スケーリング、フェイルオーバー、スロット移行が発生するとプロセスがpanicします。長期的な継続同期よりも、一度限りの移行に適しています。
主な機能
- 01スタンドアロン、マスター・レプリカ、Sentinel、クラスター構成のRedisまたはValkeyからデータを移行します。
- 02PSyncレプリケーション、RDBファイル、キーのスキャンを使ってデータを読み込みます。
- 03プレフィックスでキーをフィルタリングし、スクリプトベースの変換を適用します。
- 04ElastiCache、MemoryDB、Tairと、Tairモジュールに対応しています。
- 05TOML設定ファイルまたはDockerイメージを使って実行できます。
ユースケース
- Redisのデータセットを新しいサーバーやクラウドサービスに一度限りで移行する。
- 一時キーやキャッシュキーを除外しながら、RedisのデータをValkeyにコピーする。
- セルフホストのRedisからAWS ElastiCacheまたはMemoryDBにデータを移行する。
クイックスタート
- 1
DockerでRedisShakeを実行する
docker run --network host -e SYNC=true -e SHAKE_SRC_ADDRESS=127.0.0.1:6379 -e SHAKE_DST_ADDRESS=127.0.0.1:6380 ghcr.io/tair-opensource/redisshake:latest - 2
リポジトリをクローンする
git clone https://github.com/tair-opensource/RedisShake - 3
ソースからビルドする(Goのインストールが必要です)
sh build.sh - 4
shake.toml設定ファイルを指定してRedisShakeを実行する
./redis-shake shake.toml
使う前に知っておきたいこと
- 転送の再開(checkpoint)には対応していないため、再起動すると最初から全件再同期されます。
- スケーリング、フェイルオーバー、スロット移行など、クラスターのトポロジーが変更されるとプロセスがpanicします。
- 長期的な継続同期よりも、一度限りの移行に適しています。
トピック
よくある質問
- RedisShake とは?
- RedisやValkeyのインスタンス間でデータを移行・変換するGo製ツール。クラウド上のRedis互換サービスにも対応。 RedisShakeは、スタンドアロン、マスター・レプリカ、Sentinel、クラスター構成のRedisまたはValkeyインスタンス間でデータを移行します。ライブレプリケーション(PSync)、RDBファイル、キーのスキャンを使ってデータを読み込み、移行先のインスタンスに書き込めます。フィルタールールでプレフィックスやパターンに一致するキーを除外でき、スクリプトベースの関数を使って移行中にデータを独自に変換できます。
- RedisShake は無料で使えますか?ライセンスは?
- RedisShake は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- RedisShake は今もメンテナンスされていますか?
- 活発にメンテナンス中。RedisShake の最終コミットは 2026年10月30日 です。
- RedisShake は何に使えますか?
- Redisのデータセットを新しいサーバーやクラウドサービスに一度限りで移行する。 一時キーやキャッシュキーを除外しながら、RedisのデータをValkeyにコピーする。 セルフホストのRedisからAWS ElastiCacheまたはMemoryDBにデータを移行する。
- RedisShake のインストール方法は?
- DockerでRedisShakeを実行する: docker run --network host -e SYNC=true -e SHAKE_SRC_ADDRESS=127.0.0.1:6379 -e SHAKE_DST_ADDRESS=127.0.0.1:6380 ghcr.io/tair-opensource/redisshake:latest リポジトリをクローンする: git clone https://github.com/tair-opensource/RedisShake ソースからビルドする(Goのインストールが必要です): sh build.sh shake.toml設定ファイルを指定してRedisShakeを実行する: ./redis-shake shake.toml
- RedisShake はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tair-opensource/RedisShake
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
RocksDBをストレージに使用し、Redisプロトコルに対応する分散NoSQLキーバリューデータベース。既存のRedisクライアントから接続できます。
.NET向けRedisクライアントライブラリ。Redis SentinelとClusterに対応し、同期・非同期APIを提供します。
キャッシュやリアルタイム処理向けの、高性能でRedis互換のキーバリューデータ構造サーバー。Redisからフォークされました。
ValkeyとRedis向けのJavaクライアント。分散コレクション、ロック、キュー、サービスを提供します。
.NETアプリケーションからRedisやValkey、Garnet、AWS ElastiCacheなどのRESP互換サーバーに接続するためのクライアントライブラリ。