redis key迁移、复制
2022/6/16 2:21:23
本文主要是介绍redis key迁移、复制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考:
https://www.codeleading.com/article/17355713942/
#复制一个库的全部key
redis-all-key.sh
#!/bin/bash src_ip=127.0.0.1 src_port=8090 src_db=14 src_pw='1234' dest_ip=127.0.0.1 dest_port=8090 dest_db=15 desc_pw='1234' redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db keys "*" | while read key do redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $key 0 echo "migrate key $key" done
#复制一个库的部分key
迁移源redis 11库名称为“EXIST_IP”的key数据
#!/bin/bash src_ip=122.226.xx.xxx src_port=6379 src_db=0 src_pw='iMxxxx' dest_ip=47.241.xx.xxx dest_port=6379 dest_db=11 desc_pw='0*7xxxxx' #要遍历的key k=(EXIST_IP) for loop in ${k[*]} do redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $loop 0 echo "The value is: $loop" done
#只复制一个key
redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 14 --raw dump test | perl -pe 'chomp if eof' | redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 15 -x restore test 0
-h hostip,
-p 端口,
-a 密码,
-n db库,
--no-raw选项是要求命令的返回结果必须是原始的格式,
--raw恰恰相反,返回格式化后的结果,
-x 选项代表从标准输入(stdin)读取数据
perl -p(perl 命令可自行百度) 使 Perl 隐式地循环遍历指定的文件,同时打印所有的行。自动循环+自动输出,相当于 while(<>) { 脚本; print; }
这篇关于redis key迁移、复制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Redis资料:新手入门快速指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧