一、Redis主從複製
主從複製架構只是用來解決資料的冗餘備份,從節點只是用來同步資料
二、Redis哨兵機制(Hadoop HA)
哨兵Sentine機制
由一個或者多個哨兵(Sentinel)例項組成的Sentinel例項系統可以監視任意多個伺服器,以及這些主伺服器屬下的所有從伺服器,並在被監視的主伺服器進入下線狀態時,自動將下線主伺服器屬下的某個從伺服器升級為新的主伺服器。簡單的說哨兵就是帶有自動故障轉移功能的主從架構。
三、Redis叢集
redis叢集是Redis資料庫的一個分散式架構,旨在實現高可用性、可擴充套件性和高效能。
由多個主節點和從節點構成,每個主節點負責一定範圍的雜湊槽,從節點主要負責對資料的備份
四、穿透,雪崩,擊穿
1.穿透
指的是使用者查詢時,redis中沒有該資料,mysql中也沒有,要查詢的資料根本不存在
解決方案
最常用的:1.對空值進行快取,這樣當請求到達redis的時候,會直接返回一個null值,避免了再去訪問資料庫。
2.雪崩
指的是redis中大量的鍵過期,導致使用者訪問的這些過期資料需要去到資料庫中查詢
解決方案
最常用的:1.使用互斥鎖:當多個請求訪問這些過期資料的時候,只允許一個請求去訪問資料庫並查詢,其他請求等待,並將查到的結果共享
2.設定多級架構快取,新增多個快取,這樣請求就會先查第一層快取,沒有再去查第二層快取,減少請求直接訪問資料庫(需要啟動多個快取架構)
3.擊穿
指的是一個熱點資料過期,但是仍然有大量使用者去訪問這個資料
解決方案
最常用的:1.監控資料,適時調整,監控哪些資料是熱門的,實時調整key的過期時長
2.引入多級快取,還有就是針對熱點資料,可以提前進行預載入
五、釋出訂閱
有兩種釋出訂閱模式
1.基於頻道的釋出訂閱(Channel)
同一訊息可以被多個訂閱者訂閱,也可以被取消
subscribe訂閱一個或多個給定的頻道
unsubscribe退訂給定的頻道
2.基於模式的釋出訂閱(pattern)
訂閱者可以訂閱所有(以某某名字)的頻道
psubscribe訂閱一個或多個給定模式的頻道
punsubscribe退訂所有給定模式的頻道