RedisShake is a data processing and migration tool for Valkey and Redis.
RedisShake addresses the challenge of moving data between Redis instances without downtime or data loss. It supports multiple data fetch methods—PSync for live replication, RDB for snapshot-based migration, and Scan for key-by-key transfer—allowing operators to choose the approach that fits their infrastructure. The tool can transform data during migration through custom scripts and filter rules, enabling selective key transfers and data modifications in a single pass.
The tool works across Redis versions from 2.8 through 8.4.x and Valkey 8.x through 9.x, supporting standalone, master-slave, sentinel, and cluster topologies. It integrates with cloud-hosted Redis services from Alibaba Cloud, AWS ElastiCache, and AWS MemoryDB, and is compatible with Tair modules including TairString, TairZSet, and TairHash. RedisShake suits one-time migration scenarios where you need to move data between instances with minimal service interruption. However, it does not support resumable transfers via checkpoints, so interruptions require full resynchronization from the start. It also cannot handle cluster topology changes during operation, making it unsuitable for long-running continuous synchronization in dynamic environments.
The project maintains active development with regular updates to support new Redis and Valkey versions. Documentation is comprehensive and available in multiple languages, with clear examples for common migration patterns. The codebase is written in Go and distributed through releases, Docker images, and source builds.