redis系列——redis跨機器複製指定key(二)

前言:拷貝redis數據,首先想到可以把redis的dump.rdb快照文件拷貝到新redis的數據目錄啓動就好,但這樣是把全部數據都拷貝了過去,並且如果被拷貝的redis裏面本身有數據的話,會被覆蓋掉,所以這種方法只適合做數據的整體遷移。


但有時候需要把redis內的部分key寫到不同機器上不同集羣的redis內,這時候就有了這個方法。

新建腳本:movekey.sh

#!/bin/bash
 
#redis 
src_ip=192.168.1.129
#redis 
src_port=6379
#redis 
src_db=0
#redis 
src_pw=123
 
#redis 
dest_ip=192.168.1.128
#redis 
dest_port=6379
#redis 
dest_db=0
#redis 
dest_pw=123
 
redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db keys "day:*" | while read key
do
    redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $key |  head -c-1 | redis-cli -h $dest_ip -p $dest_port -a $dest_pw -n $dest_db -x restore $key 0
	echo "migrate key $key"
done

以上作用就是把192.168.1.129上的所有day:*的key複製到192.168.1.128

發佈了33 篇原創文章 · 獲贊 7 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章