面試官: 兩個Redis實例怎麼快速對比哪些數據不一致

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

問題

如上圖如何能快速的從兩個Redis實例怎麼快速對比哪些數據不一致?github

什麼是數據不一致

  • 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。面試

下載工具

RedisFullCheckredis

目前僅支持 Linux環境 ,其餘環境自行安裝Golang 自行交叉編譯sql

運行使用

參數說明工具

-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權限管理系統 歡迎關注阿里雲

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

相關文章
相關標籤/搜索