首頁技術(shù)文章正文

Redis分片集群有什么作用?怎樣讀取和存儲信息

更新時間:2023-05-30 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

分片集群主要解決的是,海量數(shù)據(jù)存儲的問題,集群中有多個master,每個master保存不同數(shù)據(jù),并且還可以給每個master設(shè)置多個slave節(jié)點(diǎn),就可以繼續(xù)增大集群的高并發(fā)能力。同時每個master之間通過ping監(jiān)測彼此健康狀態(tài),就類似于哨兵模式了。當(dāng)客戶端請求可以訪問集群任意節(jié)點(diǎn),最終都會被轉(zhuǎn)發(fā)到正確節(jié)點(diǎn)。

主從和哨兵可以解決高可用、高并發(fā)讀的問題。但是依然有兩個問題沒有解決,海量數(shù)據(jù)存儲問題和高并發(fā)寫的問題。

使用分片集群可以解決上述問題,分片集群特征:

  ?集群中有多個master,每個master保存不同數(shù)據(jù)

  ?每個master都可以有多個slave節(jié)點(diǎn)

  ?master之間通過ping監(jiān)測彼此健康狀態(tài)

  ?客戶端請求可以訪問集群任意節(jié)點(diǎn),最終都會被轉(zhuǎn)發(fā)到正確節(jié)點(diǎn)

Redis集群引入了哈希槽的概念,有16384個哈希槽。集群中每個主節(jié)點(diǎn)綁定了一定范圍的哈希槽范圍,key通過CRC16校驗(yàn)后對16384取模來決定放置哪個槽,通過槽找到對應(yīng)的節(jié)點(diǎn)進(jìn)行存儲。

1685441263004_分片集群結(jié)構(gòu).png
分享到:
在線咨詢 我要報(bào)名
和我們在線交談!