分享

Redis迁移的两种方式

 馒头的人生 2017-12-19
第一种方式,将一个库中的Key复制到另一个库中:
#!/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

第二种方式,复制其中某些Key值迁移:
#!/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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多