場景描述
公司服務器需要從阿里雲遷移到華爲雲,但是應用裏面有一些自增的編碼是存儲在redis中的,所以redis的數據也需要從阿里雲遷移到華爲雲,阿里雲採用redis 4.0 華爲雲使用 redis 5.0。
解決方案
- RedisShake 阿里巴巴開源的一款redis遷移工具,對
redis port
做了增強,支持:decode、dump、restore、sync(支持增量同步 基於sync
、psync
命令)、rump(只能進行全量同步,基於scan
命令,scan命令不支持的時候還可以指定key 將數據導出到文件中) 支持跨版本遷移 - Redis-port 該有的功能也都有隻是少了rump功能,文檔看起來比較清爽;本次遷移沒使用
操作步驟
- 下載RedisShake
wget https://github.com/alibaba/RedisShake/releases/download/release-v1.6.12-20190711/redis-shake.tar.gz
- 解壓文件
tar -zxvf redis-shake.tar.gz -C redis-shake
- 數據導出
- 修改配置文件:
redis-shake/redis-shake.conf
## 填寫源數據庫信息
source.type = standalone
source.address = redis-server.sodotec.cn:6379
source.password_raw = username:password
- 導出
//數據默認導出到當前目錄的 local_dump.0 文件中 也可以修改 rdb.output = local_dump 屬性進行修改
./redis-shake -conf redis-shake.conf -type dump
- 數據導入
- 填寫目標庫信息
target.type = standalone
target.address = 192.168.1.46:6379
target.password_raw =redis-password
rdb.input = ../hins6092439_data_20190711234518.rdb
- 導入
./redis-shake -conf redis-shake.conf -type restore
總結
- 只是簡單的使用了該工具,內存文件較小隻有200M,後續有大數據量場景還需要仔細摸索
- 數據導出的那一步可以省略掉,直接利用阿里雲的備份就行,備份下載下來就是rdb格式額可以直接使用