1. 程式人生 > 程式設計 >面試官: 兩個Redis例項怎麼快速對比哪些資料不一致

面試官: 兩個Redis例項怎麼快速對比哪些資料不一致

最近又在翻 黃老師的 《Redis 設計與實現》,想到幾道面試題 結合實際生產過程中的一些步驟作為總結

問題

如上圖如何能快速的從兩個Redis例項怎麼快速對比哪些資料不一致?

什麼是資料不一致

  • key不一致
  1. 相同key名 在不同例項上的資料型別不一致
  2. key 存在於源 redis 不存在目標 redis
  3. key 存在於 目標redis 不存在源redis
  • value 不一致
  1. string 型別的值,在不同例項上不一致
  2. 其他型別,同key 判斷.

工具推薦

redis-full-check 是阿里雲Redis&MongoDB團隊開源的用於校驗2個redis資料是否一致的工具,支援單節點、主從、叢集版、以及多種proxy,支援同構以及異構對比,redis的版本支援2.x-5.x。

下載工具

RedisFullCheck

目前僅支援 Linux環境,其他環境自行安裝Golang 自行交叉編譯

執行使用

引數說明

-t 目標庫
-s 源庫複製程式碼

./redis-full-check -t 10.101.72.137:30661 -s 10.101.72.137:30551複製程式碼

檢視結果

# 三輪比較 則會引數三個 db 檔案
sqlite3 result.db.1

> .tables

FINAL_RESULT  field_1       key_1
> select * from key_1;複製程式碼

專案推薦: Spring Cloud 、Spring Security OAuth2的RBAC許可權管理系統 歡迎關注

最近時間寬裕。整點花哨的系列,歡迎關注。