1. 程式人生 > >redis lru data 捕捉與儲存

redis lru data 捕捉與儲存

  • 由於業務方需求,他們儲存的資料型別為hash, 暫時只支援hash map lru 資料的儲存,被持久化到磁碟的資料通過一致性雜湊的方式對映到三級目錄中,檔名是key, 檔案內容是key 對應的json。
  • 為了保證高效能,在redis沒有命中時直接到指定路徑訪問檔案, 通過客戶端雜湊的方式直接指定讀取的機器ip和路徑,不支援檔案系統伺服器水平擴容
  • 因為解決方案主要是通redis master和slave之間的代理,因此一旦master slave發生failover, 暫時還沒有拓撲結構發生變化的檢測和切換功能
  • 在nginx lua 和c 中涉及到ip地址和檔案路徑時都是寫死的,在hash.c 檔案中。以後會修改。
  • 暫時保證資料完整並非完全不丟失,在slave重啟時,資料載入到記憶體過程中可能有小時間窗內資料丟失
  • 在redis2.8及以上版本測試通過。但是在使用redis cluster 時,由於連線問題導致發生了主從之間failover拓撲結構改變,因此要參照網路和連線情況進行選取。我們在實際使用過程中採取的是redis2.8。
  • 無自動冷熱資料切換功能,業務方自行讀寫redis,寫入即為熱資料知道redis自身演算法lru出去
  • 每個檔案系統儲存伺服器配置備份數量必須為一,以後會修改