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
要将Redis中的数据导出,可以使用redis-dump工具。首先,你需要拉取redis-dump镜像并启动容器。可以使用以下命令进行拉取和启动: 1. 拉取镜像:`docker pull zhangyuming/redis-dump:latest` 2. 启动容器:`docker run -it [镜像ID /bin/sh` 接下来,你需要安装vim编辑器(如果没有安装的话): 1. 更新apt:`apt update` 2. 安装vim:`apt install vim*` 然后,导出Redis数据为JSON文件。使用以下命令: 1. 导出数据:`redis-dump -u <源Redis> -a <源Redis密码> -d 0 > test.json` 接着,你可以使用vim编辑器修改test.json文件中的目标数据库。使用以下命令: 1. 使用vim编辑器:`vim test.json` 2. 进入vim的替换模式:输入`:`后,输入`% s/XXX/YYY/g`,其中XXX为原字符串,YYY为目标字符串。 最后,将修改后的JSON数据导入到目标Redis中。可以使用以下命令: 1. 导入数据:`cat test.json | redis-load -u <目标Redis> -a <目标Redis密码>` 这样,你就可以成功导出Redis中的数据并将其导入到其他Redis服务中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Nodejs实现redis数据Json格式的导出](https://download.csdn.net/download/weixin_45860525/82223902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [redis数据导出](https://blog.csdn.net/xjaixj9293/article/details/104929083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值