Redis 数据导入导出

一、redis-dump方式

  1、Ruby安装(Rocky Linux 9)

dnf -y install ruby ruby-devel

  2、修改Rubygems默认源

# 列出默认源
gem sources
 
# 移除默认源
gem source -r https://rubygems.org/
 
# 使用腾讯云镜像源加速
gem source -a http://mirrors.tencent.com/rubygems/

  3、安装redis-dump

gem install redis-dump -V

  4、使用redis-dump导出数据

redis-dump -u password@10.32.161.130:6379 > redis_6379.json

  5、使用redis-load导入joson数据

< redis_6379.json redis-load -u password@10.32.161.130:6379

  6、集群数据导出(集群各个实例分别导出)

redis-dump -u password@10.32.161.131:6379 -d 0 > 6379.json
redis-dump -u password@10.32.161.132:6379 -d 0 > 6379.json
redis-dump -u password@10.32.161.133:6379 -d 0 > 6379.json

  7、集群json数据导入(集群各个实例分别导出)

cat 6379.json | redis-load -u password@10.32.161.134:6379 -d 0
cat 6379.json | redis-load -u password@10.32.161.134:6379 -d 0
cat 6379.json | redis-load -u password@10.32.161.134:6379 -d 0

二、AOF方式

  1、拷贝源实例redis数据目录下的appendonly.aof文件到目标实例(源实例需要开启aof功能

  2、在目标实例导入appendonly.aof文件

redis-cli -h 10.32.161.130 -a password --pipe < appendonly.aof

三、RDB文件方式

  1、关闭源实例aof功能

  2、在源实例执行save命令

redis-cli -h 10.32.161.130 -p 6379 -a password save

  3、关闭源实例redis服务

  4、拷贝源实例数据目录下的dump.rdb到目标实例数据目录下后,重新启动目标实例redis服务(注意目标实例数据目录下的rdb文件名称也是:dump.rdb

systemctl restart redis

四、指定Key数据同步方式

  1、编写脚本

# vim redis-sync.sh
#!/bin/bash
#
redis-cli -h 10.32.161.130 -p 6379 -a password -n 0 keys "*" | while read key
do
    redis-cli -h 10.32.161.130 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 10.32.161.131 -p 6379 -a password -n 1 -x restore $key 0
    echo "migrate key $key"
done

  2、执行脚本

chmod +x redis-sync.sh
 
./redis-sync.sh

参考:

https://github.com/delano/redis-dump
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值