1.1 Redis-Cluster簡介
1.1.1 什么是Redis-Cluster
為何要搭建Redis集群。Redis是在內存中保存數(shù)據(jù)的,而我們的電腦一般內存都不大,這也就意味著Redis不適合存儲大數(shù)據(jù),適合存儲大數(shù)據(jù)的是Hadoop生態(tài)系統(tǒng)的Hbase或者是MogoDB。Redis更適合處理高并發(fā),一臺設備的存儲能力是很有限的,但是多臺設備協(xié)同合作,就可以讓內存增大很多倍,這就需要用到集群。
Redis集群搭建的方式有多種,例如使用客戶端分片、Twemproxy、Codis等,但從redis 3.0之后版本支持redis-cluster集群,它是Redis官方提出的解決方案,Redis-Cluster采用無中心結構,每個節(jié)點保存數(shù)據(jù)和整個集群狀態(tài),每個節(jié)點都和其他所有節(jié)點連接。其redis-cluster架構圖如下:
客戶端與 redis 節(jié)點直連,不需要中間 proxy 層.客戶端不需要連接集群所有節(jié)點連接集群中任何一個可用節(jié)點即可。
所有的 redis 節(jié)點彼此互聯(lián)(PING-PONG 機制),內部使用二進制協(xié)議優(yōu)化傳輸速度和帶寬.
1.1.2分布存儲機制-槽
(1)redis-cluster 把所有的物理節(jié)點映射到[0-16383]slot 上,cluster 負責維護node->slot->value
(2)Redis 集群中內置了 16384 個哈希槽,當需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,然后把結果對 16384 求余數(shù),這樣每個key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據(jù)節(jié)點數(shù)量大致均等的將哈希槽映射到不同的節(jié)點。
例如三個節(jié)點:槽分布的值如下:
1.1.2分布存儲機制-槽
(1)redis-cluster 把所有的物理節(jié)點映射到[0-16383]slot 上,cluster 負責維護node->slot->value
(2)Redis 集群中內置了 16384 個哈希槽,當需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,然后把結果對 16384 求余數(shù),這樣每個key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據(jù)節(jié)點數(shù)量大致均等的將哈希槽映射到不同的節(jié)點。
例如三個節(jié)點:槽分布的值如下:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
標簽:南寧 畢節(jié) 拉薩 定州 甘南 伊春 泰州 河源
巨人網(wǎng)絡通訊聲明:本文標題《Redis Cluster的圖文講解》,本文關鍵詞 Redis,Cluster,的,圖文,講解,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。