redis数据迁移、压测

一、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压力测试工具redis-benchmark

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。

redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -q
redis-benchmark -h 10.23.118.79 -p 6379 -c 50 -n 10000 -t PING_INLINE,SET,GET,INCR,MSET --csv

 http://www.redis.cn/topics/benchmarks.html  redis中文社区

redis-shake: https://github.com/aliyun/redis-shake  开源地址

posted @ 2020-09-04 23:34  凡人半睁眼  阅读(413)  评论(0编辑  收藏  举报