// the find
tair-opensource/RedisShake
RedisShake is a Valkey/Redis data processing and migration tool.
RedisShake is a Go tool for migrating data between Redis/Valkey instances, supporting standalone, sentinel, and cluster topologies across versions 2.8 through 8.x. It handles full syncs via PSync, RDB snapshots, or key scanning, and lets you transform keys in-flight with Lua scripts. Maintained by Alibaba Cloud's Tair team, so it's production-tested at scale but also carries their specific use-case biases.
The three reader modes (PSync, RDB, Scan) give you real flexibility — PSync for live replication, RDB for offline snapshots, Scan for when you only have read access. The Lua function pipeline for in-flight key transformation is genuinely useful for renaming key prefixes or filtering by pattern without a separate ETL step. Valkey support through 9.x is ahead of most competing tools, which still treat Valkey as an afterthought. The command metadata in `scripts/commands/` (hundreds of JSON descriptors) means command routing in cluster mode is handled correctly for edge cases most tools get wrong.
No checkpoint/resume is a serious gap the README admits upfront — a network hiccup on a 100GB dataset means starting over from scratch. The no-cluster-topology-change assumption means any failover during migration panics the process, which is exactly when failovers tend to happen. The Tair-specific module support (TairString, TairZSet, TairHash) is only useful if you're on Alibaba Cloud, and the docs lean heavily Chinese-first — the English docs exist but lag behind and some sections are clearly translated rather than written. There's also no built-in progress persistence, so monitoring a long-running migration requires external tooling or reading the status HTTP endpoint.