Skip to content

tair-opensource/RedisShake

Repository files navigation

RedisShake 4.x: Redis Data Processing & Migration Tool

CI CI CI

Overview

RedisShake is a tool designed for processing and migrating Redis data. It offers the following features:

  1. Redis Compatibility: RedisShake is compatible with Redis versions ranging from 2.8 to 7.2, and supports various deployment methods including standalone, master-slave, sentinel, and cluster.

  2. Cloud Service Compatibility: RedisShake works seamlessly with popular Redis-like databases provided by leading cloud service providers, including but not limited to:

  3. Module Compatibility: RedisShake is compatible with TairString, TairZSet, and TairHash modules.

  4. Multiple Export Modes: RedisShake supports PSync, RDB, and Scan export modes.

  5. Data Processing: RedisShake enables data filtering and transformation through custom scripts.

Getting Started

Installation

Download the Binary Package

Download the binary package directly from the Releases page.

Compile from Source

To compile from source, ensure that you have a Golang environment set up on your local machine:

git clone https://github.com/alibaba/RedisShake
cd RedisShake
sh build.sh

Usage

Assume you have two Redis instances:

  • Instance A: 127.0.0.1:6379
  • Instance B: 127.0.0.1:6380

Create a new configuration file shake.toml:

[sync_reader]
address = "127.0.0.1:6379"

[redis_writer]
address = "127.0.0.1:6380"

To start RedisShake, run the following command:

./redis-shake shake.toml

For more detailed information, please refer to the documentation:

Contributing

We welcome contributions from the community. For significant changes, please open an issue first to discuss what you would like to change. We are particularly interested in:

  1. Adding support for more modules
  2. Enhancing support for Readers and Writers
  3. Sharing your Lua scripts and best practices

History

RedisShake is a project actively maintained by the Tair team at Alibaba Cloud. Its evolution can be traced back to its initial version, which was forked from redis-port.

During its evolution:

  • The RedisShake 2.x version brought a series of improvements and updates, enhancing its overall stability and performance.
  • The RedisShake 3.x version represented a significant milestone where the entire codebase was completely rewritten and optimized, leading to better efficiency and usability.
  • The current version, RedisShake 4.x, has further enhanced features related to readers, configuration, observability, and functions.

License

RedisShake is open-sourced under the MIT license.