迁移键:

move key db 用于在Redis内部进行数据迁移

dump key + restore key ttl value 可以实现在不同的Redis实例之间进行数据迁移

127.0.0.1:6379> dump name

"\x00\x05allen\a\x00\x82\x9a*T/\xb9\x9b\x87"

127.0.0.1:6379> dump age

"\x00\xc0!\a\x006.9\xfaQ\x06\xe8\r"

127.0.0.1:6379> dump pass

"\x00\x06abc123\a\x00\x90\t\xe8\x1b\xf2\xd4\x8b\xec"

192.168.1.122:6379> restore name 0 "\x00\x05allen\a\x00\x82\x9a*T/\xb9\x9b\x87"

OK

192.168.1.122:6379> restore age 0 "\x00\xc0!\a\x006.9\xfaQ\x06\xe8\r"

OK

192.168.1.122:6379> restore pass 0 "\x00\x06abc123\a\x00\x90\t\xe8\x1b\xf2\xd4\x8b\xec"

OK

migrate host port key|"" destination-db timeout [copy] [replace] [keys key [key ...]]

127.0.0.1:6379> migrate 192.168.1.122 6379 name 0 5000  默认是删除源库的键值

OK

127.0.0.1:6379> migrate 192.168.1.122 6379 "" 0 5000 copy keys age pass  加copy和replace源库不删除键值

OK

# cat redis_mv.sh

#!/bin/bash

redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 keys "*" | while read key

do

redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 172.20.0.2 -p 6379 -a password -n 1 -x restore $key 0

echo "migrate key $key"

done

#!/bin/bash

#redis 源ip

src_ip=192.168.0.1

#redis 源port

src_port=6379

#redis 源库

src_db=11

#redis 目的ip

dest_ip=192.168.0.1

#redis 目的port

dest_port=6379

#redis 目的

dest_db=6

#redis 密码

pw=123456

#要迁移的key前缀

#key_prefix=com.example.test

redis-cli -h $src_ip -p $src_port -a $pw -n $src_db keys "*" | while read key

do

redis-cli -h $src_ip -p $src_port -a $pw -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $pw -n $dest_db -x restore $key 0

echo "migrate key $key"

done

#!/bin/bash

#redis 源ip

src_ip=192.168.0.1

#redis 源port

src_port=6379

#redis 源库

src_db=1

#redis 目的ip

dest_ip=192.168.0.1

#redis 目的port

dest_port=6379

#redis 目的

dest_db=3

#redis 密码

pw=123456

#要遍历的key

k=(medical_record:id medical_record_attachment:id patient_family_present:id patient_present:id patient_disease:id family_disease:id patient_allergy:id history_allergy:id)

#要迁移的key前缀

#key_prefix=com.example.test

for loop in ${k[*]}

do

redis-cli -h $src_ip -p $src_port -a $pw -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $pw -n $dest_db -x restore $loop 0

echo "The value is: $loop"

done

最新文章

  1. 网页设计之jQuery
  2. 更新CocoaPods
  3. Android ADB 命令大全
  4. QQ,MSN,Skype在线客服代码
  5. javabean实体类对象转为Map类型对象的方法(转发)
  6. 如何在64位系统上安装SQL Server 2000
  7. matlab norm 范式
  8. Linux中tar命令-C用法
  9. jmeter java性能测试
  10. 去掉svn与文件之间 的关联
  11. byte数组与int,long,short,byte转换 (转载)
  12. 为JQuery EasyUI 表单组件增加“焦点切换”功能
  13. 我的第一个python web开发框架(21)——小结
  14. 通过设置线程池的最小线程数来提高task的效率,SetMinThreads。
  15. docker安装jdk8
  16. Linux 远程登录配置
  17. 实验 六:分析linux内核创建一个新进程的过程
  18. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
  19. 【css】弹性盒模型
  20. 23. Man and His Natural Habitat 人类及其自然栖息地

热门文章

  1. [CTS2019]珍珠——二项式反演
  2. phpinfo中敏感信息记录
  3. OUC_Summer Training_ DIV2_#11 722
  4. 黑马vue---19、v-for中key的使用注意事项
  5. Qt 单元测试
  6. mysql if--else
  7. java读取XML文件,及封装XML字符串
  8. P3146 [USACO16OPEN]248
  9. springboot 静态资源访问,和文件上传 ,以及路径问题
  10. nfs服务共享,解决文件没有权限访问问题