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 8d239aeebc refactor: Optimize table.go 12 months ago
.github bugfix: Fixed testing issues 12 months ago
cmd/redis-shake feature: Support AWS sync mode 1 year ago
docs bugfix: Correct sentinel information error in sentinel mode #656 12 months ago
internal refactor: Optimize table.go 12 months ago
scripts refactor: Optimize table.go 12 months ago
tests bugfix: Fixed testing issues 12 months 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 bugfix: Fixed minor issues 12 months ago
go.sum bugfix: Fixed minor issues 12 months ago
license.txt redis-shake v3.0.0 2 years ago
shake.toml Config target MBbloom module version 12 months ago
test.sh bugfix: Fixed testing issues 12 months 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.