RedisShake is a Valkey/Redis data processing and migration tool.
See the code
RedisShake is a powerful tool for Redis data transformation and migration, offering:
Zero Downtime Migration: Enables seamless data migration without data loss or service interruption, ensuring continuous operation during the transfer process.
Valkey/Redis Compatibility: Supports Redis (2.8 to 8.4.x) and Valkey (8.x to 9.x) across standalone, master–slave, sentinel, and cluster deployments. See Version Compatibility for detailed feature support.
Cloud Service Integration: Seamlessly works with Redis-like databases from major cloud providers:
Module Support: Compatible with TairString, TairZSet, and TairHash.
Flexible Data Source: Supports PSync, RDB, and Scan data fetch methods.
Advanced Data Processing: Enables custom script-based data transformation and easy-to-use data filter rules.
Download from Releases.
Use Docker:
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
Prerequisite: Go must be installed and available in your system before running the build script.
git clone https://github.com/tair-opensource/RedisShake
cd RedisShake
sh build.sh
Copy and paste this prompt to your LLM agent (Claude Code, Cursor, etc.):
Read the RedisShake usage guide and help me with my task:
https://raw.githubusercontent.com/tair-opensource/RedisShake/v4/README_FOR_AGENTS.md
To move data between two Redis instances and skip some keys:
shake.toml with these settings:[sync_reader]
address = "127.0.0.1:6379"
[redis_writer]
address = "127.0.0.1:6380"
[filter]
# skip keys with "temp:" or "cache:" prefix
block_key_prefix = ["temp:", "cache:"]
./redis-shake shake.toml
For more help, check the docs.
Resumable Transfer (Checkpoint) is NOT Supported: RedisShake 4.x does not support resumable transfer. Unlike commercial solutions such as Alibaba Cloud DTS or Tair Global Active-Active which can resume from the last checkpoint after interruption, RedisShake will perform a full resync from the beginning when restarted.
Cluster Topology Change Awareness is NOT Supported: RedisShake assumes a static cluster topology. Any topology changes (such as scaling, failover, or slot migration) will cause the process to panic. Combined with the lack of checkpoint support, RedisShake is best suited for one-time data migration scenarios, not for long-term continuous synchronization.
Before migrating data between different major versions of Redis, we recommend using the resp-compatibility tool for a compatibility check and consulting the compatibility report to avoid known breaking changes and bugs.
RedisShake, actively maintained by the Tair team at Alibaba Cloud, evolved from redis-port. Key milestones:
RedisShake is open-sourced under the MIT license.
(top 30 of 56)
Go
74.0%
Python
25.2%
RedisShake is a Valkey/Redis data processing and migration tool.
See the code
RedisShake is a powerful tool for Redis data transformation and migration, offering:
Zero Downtime Migration: Enables seamless data migration without data loss or service interruption, ensuring continuous operation during the transfer process.
Valkey/Redis Compatibility: Supports Redis (2.8 to 8.4.x) and Valkey (8.x to 9.x) across standalone, master–slave, sentinel, and cluster deployments. See Version Compatibility for detailed feature support.
Cloud Service Integration: Seamlessly works with Redis-like databases from major cloud providers:
Module Support: Compatible with TairString, TairZSet, and TairHash.
Flexible Data Source: Supports PSync, RDB, and Scan data fetch methods.
Advanced Data Processing: Enables custom script-based data transformation and easy-to-use data filter rules.
Download from Releases.
Use Docker:
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
Prerequisite: Go must be installed and available in your system before running the build script.
git clone https://github.com/tair-opensource/RedisShake
cd RedisShake
sh build.sh
Copy and paste this prompt to your LLM agent (Claude Code, Cursor, etc.):
Read the RedisShake usage guide and help me with my task:
https://raw.githubusercontent.com/tair-opensource/RedisShake/v4/README_FOR_AGENTS.md
To move data between two Redis instances and skip some keys:
shake.toml with these settings:[sync_reader]
address = "127.0.0.1:6379"
[redis_writer]
address = "127.0.0.1:6380"
[filter]
# skip keys with "temp:" or "cache:" prefix
block_key_prefix = ["temp:", "cache:"]
./redis-shake shake.toml
For more help, check the docs.
Resumable Transfer (Checkpoint) is NOT Supported: RedisShake 4.x does not support resumable transfer. Unlike commercial solutions such as Alibaba Cloud DTS or Tair Global Active-Active which can resume from the last checkpoint after interruption, RedisShake will perform a full resync from the beginning when restarted.
Cluster Topology Change Awareness is NOT Supported: RedisShake assumes a static cluster topology. Any topology changes (such as scaling, failover, or slot migration) will cause the process to panic. Combined with the lack of checkpoint support, RedisShake is best suited for one-time data migration scenarios, not for long-term continuous synchronization.
Before migrating data between different major versions of Redis, we recommend using the resp-compatibility tool for a compatibility check and consulting the compatibility report to avoid known breaking changes and bugs.
RedisShake, actively maintained by the Tair team at Alibaba Cloud, evolved from redis-port. Key milestones:
RedisShake is open-sourced under the MIT license.
(top 30 of 56)
Go
74.0%
Python
25.2%