新聞資訊
租用幫助
阿里數(shù)據(jù)遷移同步工具redis-shake
2023-12-13 08:47:38
摘要:這里給大家分享一個Redis的數(shù)據(jù)遷移和清洗工具那就是阿里巴巴開源工具redis-shake,redis-shake工具使用起來比較簡單,也經(jīng)歷過大廠的認(rèn)證,正確性和穩(wěn)定性都有非常保障。

這里給大家分享一個Redis的數(shù)據(jù)遷移和清洗工具那就是阿里巴巴開源工具redis-shake,redis-shake工具使用起來比較簡單,也經(jīng)歷過大廠的認(rèn)證,正確性和穩(wěn)定性都有非常保障。


阿里云賬戶多充多送http://hkonecloud.755800.com/

redis-shake 常見于生產(chǎn)環(huán)境中將 Redis 單機實例遷移到集群實例或者需要無縫將一個小規(guī)格 Redis 實例遷移到另一個大規(guī)格 Redis 實例。

redis-shake 支持遷移單實例、集群等,也支持將數(shù)據(jù)備份或者遷移到阿里云。經(jīng)過迭代,目前  redis-shake 有兩個版本。

從 GitHub 下載二進制或者自己從代碼編譯都行,redis-shake 使用 Go 語言開發(fā),整體代碼也比較簡單易懂,感興趣的小伙伴也可以自行查閱。除此之外,如果要使用數(shù)據(jù)過濾的功能,可以使用 Lua 語言進行自定義,保證了工具的靈活性。

更多項目詳情請查看如下鏈接。

開源項目地址:https://github.com/alibaba/RedisShake

開源項目作者:https://github.com/alibaba

實戰(zhàn)

正式操作前先在測試環(huán)境實踐一把看看效果如何,先說明下環(huán)境

源庫:192.168.28.142

目標(biāo)庫:192.168.147.128

步驟一:

使用wget命令下載至本地

wget https://github.com/alibaba/RedisShake/releases/download/release-v2.0.2-20200506/redis-shake-v2.0.2.tar.gz

步驟二:

解壓,進入相應(yīng)目錄看看有哪些東東

步驟三:

更改配置文件redis-shake.conf

日志輸出

源端連接配置

目標(biāo)端設(shè)置

步驟四:

./start.sh redis-shake.conf sync


查看日志文件

查看下數(shù)據(jù)同步情況,如下圖,發(fā)現(xiàn)所有的庫都同步過來了,非常nice。

但如果只想同步某個庫又該怎么操作呢?

馬上查閱了配置文件及官方文檔,稍作調(diào)整就可以,具體如

配置項         說明

target.db:設(shè)置待遷移的數(shù)據(jù)在目的Redis中的邏輯數(shù)據(jù)庫名。例如,要將所有數(shù)據(jù)遷移到目的Redis中的DB10,則需將此參數(shù)的值設(shè)置為10。當(dāng)該值設(shè)置為-1時,邏輯數(shù)據(jù)庫名在源Redis和目的Redis中的名稱相同,即源Redis中的DB0將被遷移至目的Redis中的DB0,DB1將被遷移至DB1,以此類推。

filter.db.whitelist 指定的db被通過,比如0;5;10將會使db0, db5, db10通過, 其他的被過濾

那比如我這邊只想把源端的10庫同步至目標(biāo)端的10庫只需對配置文件進行如下改動

重新執(zhí)行步驟四命令,執(zhí)行后效果如下,大功告成。


另外還有一個配置項特意說明下

配置項 說明

key_exists 當(dāng)源目的有重復(fù)key,是否進行覆寫。rewrite表示源端覆蓋目的端。none表示一旦發(fā)生進程直接退出。ignore表示保留目的端key,忽略源端的同步key。該值在rump模式下沒有用。

當(dāng)前僅僅是單個節(jié)點到單個節(jié)點的同步,如涉及到集群等其他一些場景下,請參考官方文檔說明,自行測試。

騰訊云、阿里云、Google谷歌云、華為云、天翼云、移動云、AWS亞馬遜云代理商哪家好?推薦找755800


海外服務(wù)器免費測試http://running-capacitor.com/


USA-IDC為您提供免備案服務(wù)器 0元試用
立即聯(lián)系在線客服,即可申請免費產(chǎn)品試用服務(wù)
立即申請