Redis集羣寫入/查詢數據原理(理論)

redis集羣數據存儲原理:

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

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

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

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

    

redis集羣數據獲取原理:

    當client向redis cluster中的任意一個節點發送與數據庫key有關的命令時,

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

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

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

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章