当前位置:   article > 正文

Redis数据热迁移_redis数据迁移到redis

redis数据迁移到redis

1、redis数据热迁移,先通过redis-shake工具实现。
2、再通过redis-full-check检查迁移后的数据是否想同。
3、redis-shake版本下载:
https://github.com/tair-opensource/RedisShake/releases

4、redis-full-check版本下载:
https://github.com/tair-opensource/RedisFullCheck/releases

5、中文资料
https://github.com/tair-opensource/RedisShake/wiki

redis-shake 支持特性:
高性能
.在 Redis 5.0、Redis 6.0 和 Redis 7.0 上测试
.支持使用lua自定义过滤规则
.支持大实例迁移
.支持restore模式和sync模式
.支持阿里云 Redis 和 ElastiCache

在这里插入图片描述

1、 安装redis-shake
mkdir -p /data/redis-shake
tar -zxvf redis-shake-linux-amd64.tar.gz -C /data/redis-shake

2、创建配置文件
[root@VM-0012725 redis-shake]# cat redis.toml 
###
type = "sync"
 
[source]
version = 6.2
address = "x.x.x.x:6379"
username = ""
password = "passwd"
tls = false
elasticache_psync = ""
 
[target]
type = "standalone" # "standalone" or "cluster"
version = 6.2
address = "x.x.x.x:6379"
username = ""
password = "passwd"
tls = false
 
[advanced]
metrics_port = 9444

3、执行命令
cd /data/redis-shake 
./redis-shake redis.toml

说明:
1)以下图所示:同步redis数据成功
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述

1、安装redis-full-check
mkdir -p /data/redis-full-check
tar -zxvf redis-full-check-1.4.10.tar.gz -C /data/redis-full-check

2、参数说明
-s, --source=SOURCE               源redis库地址(ip:port),如果是集群版,那么需要以分号(;) 
                                  分割不同的db,只需要配置主或者从的其中之一。例如: 
                                  10.1.1.1:1000;10.2.2.2:2000;10.3.3.3:3000-p, --sourcepassword=Password     源redis库密码
      --sourceauthtype=AUTH-TYPE    源库管理权限,开源reids下此参数无用。
      --sourcedbtype=               源库的类别,0:db(standalone单节点、主从)1: cluster 
                                   (集群版),2: 阿里云
      --sourcedbfilterlist=         源库需要抓取的逻辑db白名单,以分号(;)分割,例如:0;5;15 
                                    表示db0,db5和db15都会被抓取
  -t, --target=TARGET               目的redis库地址(ip:port)
  -a, --targetpassword=Password     目的redis库密码
      --targetauthtype=AUTH-TYPE    目的库管理权限,开源reids下此参数无用。
      --targetdbtype=               参考sourcedbtype
      --targetdbfilterlist=         参考sourcedbfilterlist
  -d, --db=Sqlite3-DB-FILE          对于差异的key存储的sqlite3 db的位置,默认result.db
      --comparetimes=COUNT          比较轮数
  -m, --comparemode=                比较模式,1表示全量比较,2表示只对比value的长度,3只对比 
                                    key是否存在,4全量比较的情况下,忽略大key的比较
      --id=                         用于打metric
      --jobid=                      用于打metric
      --taskid=                     用于打metric
  -q, --qps=                        qps限速阈值
      --interval=Second             每轮之间的时间间隔
      --batchcount=COUNT            批量聚合的数量
      --parallel=COUNT              比较的并发协程数,默认5
      --log=FILE                    log文件
      --result=FILE                 不一致结果记录到result文件中,格式:'db    diff-type    
                                    key    field'
      --metric=FILE                 metric文件
      --bigkeythreshold=COUNT       大key拆分的阈值,用于comparemode=4
  -f, --filterlist=FILTER           需要比较的key列表,以分号(;)分割。例 
                                    如:"abc*|efg|m*"表示对比'abc', 'abc1', 'efg', 'm', 
                                    'mxyz',不对比'efgh', 'p'-v, --version

3、数据对比
./redis-full-check -s "x.x.x.x:6379" -p "passwd" --sourcedbtype=0 --sourcedbfilterlist=0 -t "x.x.x.x:6379" -a "passwd" --targetdbtype=0

说明:以下图所示,新redis数据库和旧redis数据相同。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号