redis-shake工具
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
suxb201 6b3e723bb3 docs: add function documents 1 year ago
.github Update issue templates 1 year ago
cmd/redis-shake feature: Support AWS sync mode 1 year ago
docs docs: add function documents 1 year ago
internal docs: add function documents 1 year ago
scripts add the test for TairString、TairHash and TairSzset 1 year ago
tests add the test for TairString、TairHash and TairSzset 1 year ago
.gitignore docs: add function documents 1 year ago
README.md docs: Improve user manual 1 year ago
build.sh bugfix: Corrected issues in build.sh script 1 year ago
go.mod feature: Add keyspace notifications support to scan_reader 1 year ago
go.sum feature: Add keyspace notifications support to scan_reader 1 year ago
license.txt redis-shake v3.0.0 2 years ago
shake.toml docs: Improve user manual 1 year ago
test.sh feature: Released RedisShake 4.0 version 1 year ago

README.md

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.