当前位置: 首页 > 工具软件 > Redis-Dump > 使用案例 >

redis数据迁移redis-dump(redis从A服务器迁移到B服务器)

李奕
2023-12-01

一、环境准备

迁移需要用到 redis-dump 工具,需要安装,centos 7 步骤如下

1、配置yum仓库

yum install centos-release-scl-rh -y

2、安装依赖环境ruby

scl enable rh-ruby23 bash

3、查看ruby版本

ruby -v

4、安装 redis-dump 

gem install redis-dump -V

二、使用redis-dump导出数据

redis-dump -u IP:PORT -d 6 -a pwd > redis_6379_db6.json

注:以下皆是需要导出数据的redis

IP,port都知道,不多说了

-d 6 :指定导出redis DB 6 的数据(不指定该参数即导出全部)

-a :指定导出redis的密码(无密码不需要指定该参数)

redis_6379_db6.json :将数据导出到改文件里

三、使用 redis-load 导入数据

cat redis_6379_db6.json | redis-load -u :tcdept70@IP:PORT -d 6

在二、中导出文件的位置执行

注:以下参数皆是需要导入目标redis服务的参数

-u:密码@IP:端口

-d 6 :导入到 DB 6

另:如遇报错

ERROR (Yajl::ParseError): lexical error: invalid bytes in UTF8 string. lue":{"maxInactiveInterval":"¬웵0000\u0005sr\u0000\u0011jav (right here) ------^

#如上报错可加参数 -n,不检查 utf-8格式 

cat redis_6379_db6.json | redis-load -n -u :tcdept70@IP:PORT -d 6

四、感受

1、A服务器 70W + 个key导出到A服务器本地 大概耗时 20 分钟

2、从A服务器导入到B服务器预计耗时 2 小时,这是不能容忍的

PS:在需要导入的目标服务器安装 redis-dump,scp文件过去在目标服务器本地执行 耗时大概 40分钟

 类似资料: