A cross-platform desktop GUI client for managing Redis databases, supporting Linux, Windows and macOS, with cluster, sentinel and SSH tunnel connections.
tair-opensource/RedisShake
A Go tool for migrating and transforming data between Redis and Valkey instances, including cloud-hosted Redis-compatible services.
- Stars
- 4,451
- Forks
- 784
- Open issues
- 154
- Last commit
- 8 days ago
What is it?
RedisShake moves data between Redis or Valkey instances, covering standalone, master-slave, sentinel, and cluster deployments. It can pull data through live replication (PSync), from an RDB file, or by scanning keys, and write it to a target instance. Filter rules let you skip keys by prefix or pattern, and script-based functions allow custom transformation during migration.
The tool is aimed at moving data between databases, including Redis-like services from Alibaba Cloud (Tair), AWS ElastiCache and MemoryDB. It also supports Tair modules such as TairString, TairZSet and TairHash. Configuration is a TOML file passed to the binary, and a Docker image is available.
The project documents that it does not support resumable transfer, so an interrupted run restarts with a full resync. It also assumes a static cluster topology; scaling, failover or slot migration will cause the process to panic. It is best suited to one-time migrations rather than long-term continuous sync.
Key features
- 01Migrates data from standalone, master-slave, sentinel, and cluster Redis or Valkey deployments.
- 02Reads data via PSync replication, RDB files, or key scanning.
- 03Filters keys by prefix and applies script-based transformations.
- 04Works with ElastiCache, MemoryDB, and Tair, plus Tair modules.
- 05Runs from a TOML config file or a Docker image.
Use cases
- One-time migration of a Redis dataset to a new server or cloud service.
- Copying Redis data to Valkey while skipping temporary or cache keys.
- Moving data into AWS ElastiCache or MemoryDB from self-hosted Redis.
Quick start
- 1
Run RedisShake in 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 - 2
Clone the repository
git clone https://github.com/tair-opensource/RedisShake - 3
Build it from source (Go must be installed)
sh build.sh - 4
Run RedisShake with your shake.toml config file
./redis-shake shake.toml
Things to know
- Resumable transfer (checkpoint) is not supported, so a restart performs a full resync from the beginning.
- Cluster topology changes such as scaling, failover, or slot migration will cause the process to panic.
- Best suited for one-time migrations rather than long-term continuous synchronization.
Topics
FAQ
- What is RedisShake?
- A Go tool for migrating and transforming data between Redis and Valkey instances, including cloud-hosted Redis-compatible services. RedisShake moves data between Redis or Valkey instances, covering standalone, master-slave, sentinel, and cluster deployments. It can pull data through live replication (PSync), from an RDB file, or by scanning keys, and write it to a target instance. Filter rules let you skip keys by prefix or pattern, and script-based functions allow custom transformation during migration.
- Is RedisShake free to use? What license does it have?
- RedisShake is open source under the MIT license. Check the license terms before using it in commercial products.
- Is RedisShake still maintained?
- Actively maintained. The last commit to RedisShake was on Oct 30, 2026.
- What can I use RedisShake for?
- One-time migration of a Redis dataset to a new server or cloud service. Copying Redis data to Valkey while skipping temporary or cache keys. Moving data into AWS ElastiCache or MemoryDB from self-hosted Redis.
- How do I install RedisShake?
- Run RedisShake in 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 Clone the repository: git clone https://github.com/tair-opensource/RedisShake Build it from source (Go must be installed): sh build.sh Run RedisShake with your shake.toml config file: ./redis-shake shake.toml
- Where can I get RedisShake?
- The source code and installation instructions are on GitHub: https://github.com/tair-opensource/RedisShake
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A distributed NoSQL key-value database that uses RocksDB for storage and speaks the Redis protocol, so existing Redis clients can connect.
A .NET client library for Redis, with Redis Sentinel and Cluster support and both synchronous and asynchronous APIs.
A high-performance, Redis-compatible key-value data structure server forked from Redis, aimed at caching and realtime workloads.
Java client for Valkey and Redis that adds distributed collections, locks, queues, and services on top of the base commands.
A .NET client library for connecting to Redis and other RESP-compatible servers such as Valkey, Garnet and AWS ElastiCache.