RedisShake

RedisShake

Redis数据处理与迁移工具 支持多版本和云服务

RedisShake是一个开源的Redis数据处理和迁移工具,支持Redis 2.8至7.2版本。它兼容多种部署方式,包括独立、主从、哨兵和集群模式,以及主流云服务提供商的Redis兼容数据库。RedisShake提供PSync、RDB和Scan等导出模式,支持数据过滤和转换,并兼容TairString、TairZSet和TairHash模块。这个工具可用于多种Redis数据迁移和处理场景。

RedisShakeRedis数据迁移数据处理工具开源项目云服务兼容Github

RedisShake 4.x:Redis数据处理与迁移工具

CI CI CI

概述

RedisShake是一款用于处理和迁移Redis数据的工具。它提供以下功能:

  1. Redis兼容性:RedisShake兼容从2.8到7.2版本的Redis,并支持多种部署方式,包括单机、主从、哨兵和集群。

  2. 云服务兼容性:RedisShake可无缝对接主流云服务提供商的Redis类数据库,包括但不限于:

  3. 模块兼容性:RedisShake兼容TairStringTairZSetTairHash模块。

  4. 多种导出模式:RedisShake支持PSync、RDB和Scan导出模式。

  5. 数据处理:RedisShake通过自定义脚本实现数据过滤和转换。

快速开始

安装

下载二进制包

直接从Releases页面下载二进制包。

从源码编译

要从源码编译,请确保本地机器上已设置Golang环境:

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

使用方法

假设您有两个Redis实例:

  • 实例A:127.0.0.1:6379
  • 实例B:127.0.0.1:6380

创建一个新的配置文件shake.toml

[sync_reader] address = "127.0.0.1:6379" [redis_writer] address = "127.0.0.1:6380"

要启动RedisShake,运行以下命令:

./redis-shake shake.toml

更详细的信息,请参阅文档:

贡献

我们欢迎社区贡献。对于重大变更,请先开issue讨论您想要改变的内容。我们特别感兴趣的是:

  1. 增加对更多模块的支持
  2. 增强对读取器和写入器的支持
  3. 分享您的Lua脚本和最佳实践

历史

RedisShake是由阿里云Tair团队积极维护的项目。它的演变可以追溯到最初版本,该版本是从redis-port派生而来。

在其演变过程中:

  • RedisShake 2.x版本带来了一系列改进和更新,提高了整体稳定性和性能。
  • RedisShake 3.x版本是一个重要里程碑,整个代码库被完全重写和优化,提高了效率和可用性。
  • 当前版本RedisShake 4.x进一步增强了读取器、配置、可观察性和功能相关的特性。

许可证

RedisShake在MIT许可证下开源。