一、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命令)。如下图所示:
redis-shake: https://github.com/aliyun/redis-shake 开源地址
redis数据迁移工具
原文:https://www.cnblogs.com/zjz20/p/13616716.html