校驗遷移后的Redis數據的完整性
更新時間 2025-04-19 23:59:02
最近更新時間: 2025-04-19 23:59:02
分享文章
Redis數據遷移完成后(即遷移結束),可以通過redis-full-check工具檢查源Redis與目標Redis的數據一致性(源Redis數據為目標Redis數據的子集,即表示數據一致)。
前提條件
數據遷移已完成(即遷移結束)。
準備工作
- 開通一臺ECS云主機,要求能在ECS上訪問通源和目標Redis實例。
- 下載redis-full-check執行文件(建議:1.4.8版本,示例:redis-full-check-1.4.8.tar.gz),用以接下來校驗源和目標Redis數據。
操作步驟
- 登錄ECS云主機,進入redis-full-check解壓目錄。
- 解壓redis-full-check-1.4.8.tar.gz(tar -xvf redis-full-check-1.4.8.tar.gz),解壓后的redis-full-check即為可執行文件。
- 命令說明:
參考命令: ./redis-full-check -s {源Redis連接地址} -p {源Redis密碼} -t {目標Redis連接地址} -a {目標Redis密碼} 實際執行: ./redis-full-check -s source_address -p source_password -t target_adress -a target_password 說明:源/目標連接地址為集群時,多個連接地址以英文分號(;)分隔 - 命令參數(可選)說明:
| 選項 | 說明 | 示例 |
|---|---|---|
| -s 或者 --source | 源Redis連接地址,如果是集群時,多個地址間以英文分號(;)分隔。 | -s source_address_1;source_address_2 |
| -p 或者 --sourcepassword | 源Redis連接密碼(不支持指定username)。 | -p password |
| --sourcedbtype | 源Redis架構系列;0:標準主備/單機(默認),1:集群,2: aliyun proxy, 3: tencent proxy。 | --sourcedbtype 0 |
| --sourcedbfilterlist | 源Redis需要對比的db,-1:表示對比所有db(默認),db1;db2:表示對比db1和db2。 | --sourcedbfilterlist 0;1 |
| -t 或者 --target | 目標Redis連接地址,如果是集群時,多個地址間以英文分號(;)分隔。 | -t target_address_1;target_address_2 |
| -a 或者 --targetpassword | 目標Redis連接密碼(不支持指定username)。 | -a password |
| --targetdbtype | 目標Redis架構系列;0:標準主備/單機(默認),1:集群,2: aliyun proxy, 3: tencent proxy。 | --targetdbtype 0 |
| --targetdbfilterlist | 目標Redis需要對比的db,-1:表示對比所有db(默認),db1;db2:表示對比db1和db2。 | --targetdbfilterlist -1 |
| --comparetimes | 對比輪數,默認:3,最小:1。 | --comparetimes 3 |
| -m 或者 --comparemode | 校驗模式,1:全量比較,2:只對比value的長度(默認),3:只校驗key是否存在,4:全量比較,但是忽略大key的比較。 | -m 2 |
| -q 或者 --qps | 最大的qps限制(默認:15000)。 | -q 15000 |
| --interval | 相鄰兩輪校驗的間隔時間(秒)(默認:5)。 | --interval 5 |
| --loglevel | 日志級別,'debug', 'info', 'warn', 'error'(默認:info)。 | --loglevel info |
| -f 或者 --filterlist | 需要比較的key列表,以豎線分割。 | -f abc |
| -v 或者 --version | 輸出redis-full-check版本。 | -v |
- 運行結果
-
出現以下字樣時,表示校驗完成。
all finish successfully, …… -
校驗明細。
sqlite3 result.db.3(3表示對比輪數) select * from key; select * from field; 說明:表key,field記錄了數據沖突情況