redis叢集資料儲存和獲取原理

chenfeng發表於2018-12-28

redis叢集資料獲取原理:


    當client向redis cluster中的任意一個節點傳送與資料庫key有關的命令時,


    接收命令的節點會計算出要處理的key屬於哪個雜湊槽(hash slot),


    並且先檢查這個hash slot是否屬於自己(管轄):


        如果key所在的槽正好屬於自己(管轄),節點會直接執行這個key相關命令。


        如果key所在的槽不屬於自己(管轄),那麼節點會給client返回一個MOVED錯誤,


        指引client轉向負責對應槽的節點,並客戶端需要再次傳送想要執行的和key相關的命令。


redis叢集資料儲存原理:


    在redis cluster中,如果想要存入一個key-value,


    這個key首先會透過CRC16演算法取餘(和16384取餘),


    結果會對應上0-16383之間的雜湊槽(hash slot)


    最後,redis cluster會將key-value放置在對應的雜湊槽中。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2286817/,如需轉載,請註明出處,否則將追究法律責任。

相關文章