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

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

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

IT培訓(xùn)班

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

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

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

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

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

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

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

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

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