问题描述
如何使用 Redis-shake 导入物理备份 rdb 文件?
问题分析
缓存数据库 Redis 版 支持下载备份的 rdb 文件,然后通过 Redis-shake 导入到新的实例中
模拟步骤
1.准备测试数据
使用 redis-benchmark 写入不同数据类型的数据
redis-benchmark -h redis-cnl*****.redis.volces.com -p 6379 -n 1000 -c 20 -a $password -t SET,MSET,LPUSH,HSET,SADD,RPUSH,INCR -r 100
====== SET ======
1000 requests completed in 0.02 seconds
20 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
58823.53 requests per second
====== INCR ======
1000 requests completed in 0.01 seconds
20 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
66666.67 requests per second
……
……
95.00% <= 201 milliseconds
99.60% <= 202 milliseconds
100.00% <= 202 milliseconds
1562.50 requests per second
备份下载
进入火山实例的管控界面,选择备份恢复,手动备份生成最新备份文件(业务低峰操作),或者下载已经备份过的文件。
下载 Redis-shake 工具
下载和解压工具,可直接使用,无需编译。 在执行导出和导入操作的服务器上都需要安装 Redis-shake。
wget https://github.com/alibaba/RedisShake/releases/download/release-v2.0.3-20200724/redis-shake-v2.0.3.tar.gz
# 解压安装后可以使用
tar xzf redis-shake-v2.0.3.tar.gz
# 主要替换redis-shake.conf 中的如下参数,其他参数自行根据业务调整
source.rdb.input = /home/lxb/Redis/*****/redis-cnl*****.rdb
target.address = redis-cn******.redis.volces.com:6379
target.password_raw = $password
数据导入
[root@lxb-jms redis-shake-v2.0.3]# ./redis-shake.linux -type=restore -conf=redis-shake.conf
2022/08/30 16:07:45 [WARN] source.auth_type[auth] != auth
2022/08/30 16:07:45 [WARN] target.auth_type[auth] != auth
2022/08/30 16:07:45 [WARN]
______________________________
\ \ _ ______ |
\ \ / \___-=O'/|O'/__|
\ RedisShake, here we go !! \_______\ / | / )
/ / '/-==__ _/__|/__=-| -GM
/ Alibaba Cloud / * \ | |
/ / (o)
------------------------------
if you have any problem, please visit https://github.com/alibaba/RedisShake/wiki/FAQ
……
……
2022/08/30 16:08:10 [INFO] routine[0] restore: rdb done
2022/08/30 16:08:10 [INFO] restore from '[/home/lxb/Redis/redis-port/redis-cnl********.rdb]' to '[redis-cn*******.redis.volces.com:6379]' done
2022/08/30 16:08:10 [INFO] Enabled http stats, set status (incr), and wait forever.
看到"restore: rdb done",代表数据导入完成,然后便可以停止运行 Redis-shake 程序。
参考文档
https://github.com/alibaba/RedisShake/releases 如果您有其他问题,欢迎您联系火山引擎技术支持服务