一, Redis-port
https://cloud.tencent.com/document/product/239/33786
Redis-port 是一组开源工具集合, 主要用于 Redis 节点间的数据库同步, 数据导入, 数据导出, 支持 Redis 的跨版本数据迁移, 工具集中包括以下工具:
Redis-sync: 支持在 Redis 实例之间进行数据迁移.
Redis-restore: 支持将 Redis 的备份文件 (RDB) 导入到指定 Redis 实例.
Redis-dump: 支持将 Redis 的数据备份为 RDB 格式文件.
Redis-decode: 支持将 Redis 备份文件 (RDB) 解析为可读的文件.
二, Redis-shake 数据同步 & 迁移工具
https://developer.aliyun.com/article/691794
Redis-shake 是阿里云 Redis&MongoDB 团队开源的用于 Redis 数据同步的工具.
Redis-shake 是我们基于 Redis-port 基础上进行改进的一款产品. 它支持解析, 恢复, 备份, 同步四个功能. 以下主要介绍同步 sync.
恢复 restore: 将 RDB 文件恢复到目的 Redis 数据库.
备份 dump: 将源 Redis 的全量数据通过 RDB 文件备份起来.
解析 decode: 对 RDB 文件进行读取, 并以 JSON 格式解析存储.
同步 sync: 支持源 Redis 和目的 Redis 的数据同步, 支持全量和增量数据的迁移, 支持从云下到阿里云云上的同步, 也支持云下到云下不同环境的同步, 支持单节点, 主从版, 集群版之间的互相同步. 需要注意的是, 如果源端是集群版, 可以启动一个 RedisShake, 从不同的 db 结点进行拉取, 同时源端不能开启 move slot 功能; 对于目的端, 如果是集群版, 写入可以是 1 个或者多个 db 结点.
同步 rump: 支持源 Redis 和目的 Redis 的数据同步, 仅支持全量的迁移. 采用 scan 和 restore 命令进行迁移, 支持不同云厂商不同 Redis 版本的迁移.
Redis-shake 的基本原理就是模拟一个从节点加入源 Redis 集群, 首先进行全量拉取并回放, 然后进行增量的拉取(通过 psync 命令). 如下图所示:
https://github.com/aliyun/redis-shake : https://github.com/aliyun/redis-shake 开源地址 https://github.com/aliyun/redis-shake
来源: http://www.bubuko.com/infodetail-3666887.html