主頁 > 知識(shí)庫 > Redis Cluster的圖文講解

Redis Cluster的圖文講解

熱門標(biāo)簽:b2b外呼系統(tǒng) 400電話辦理的口碑 臺(tái)灣電銷 南京手機(jī)外呼系統(tǒng)廠家 廊坊外呼系統(tǒng)在哪買 地圖標(biāo)注工廠入駐 一個(gè)地圖標(biāo)注多少錢 高碑店市地圖標(biāo)注app 四川穩(wěn)定外呼系統(tǒng)軟件

1.1 Redis-Cluster簡(jiǎn)介

1.1.1 什么是Redis-Cluster

為何要搭建Redis集群。Redis是在內(nèi)存中保存數(shù)據(jù)的,而我們的電腦一般內(nèi)存都不大,這也就意味著Redis不適合存儲(chǔ)大數(shù)據(jù),適合存儲(chǔ)大數(shù)據(jù)的是Hadoop生態(tài)系統(tǒng)的Hbase或者是MogoDB。Redis更適合處理高并發(fā),一臺(tái)設(shè)備的存儲(chǔ)能力是很有限的,但是多臺(tái)設(shè)備協(xié)同合作,就可以讓內(nèi)存增大很多倍,這就需要用到集群。

Redis集群搭建的方式有多種,例如使用客戶端分片、Twemproxy、Codis等,但從redis 3.0之后版本支持redis-cluster集群,它是Redis官方提出的解決方案,Redis-Cluster采用無中心結(jié)構(gòu),每個(gè)節(jié)點(diǎn)保存數(shù)據(jù)和整個(gè)集群狀態(tài),每個(gè)節(jié)點(diǎn)都和其他所有節(jié)點(diǎn)連接。其redis-cluster架構(gòu)圖如下:

客戶端與 redis 節(jié)點(diǎn)直連,不需要中間 proxy 層.客戶端不需要連接集群所有節(jié)點(diǎn)連接集群中任何一個(gè)可用節(jié)點(diǎn)即可。
所有的 redis 節(jié)點(diǎn)彼此互聯(lián)(PING-PONG 機(jī)制),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和帶寬.

1.1.2分布存儲(chǔ)機(jī)制-槽

(1)redis-cluster 把所有的物理節(jié)點(diǎn)映射到[0-16383]slot 上,cluster 負(fù)責(zé)維護(hù)node->slot->value

(2)Redis 集群中內(nèi)置了 16384 個(gè)哈希槽,當(dāng)需要在 Redis 集群中放置一個(gè) key-value 時(shí),redis 先對(duì) key 使用 crc16 算法算出一個(gè)結(jié)果,然后把結(jié)果對(duì) 16384 求余數(shù),這樣每個(gè)key 都會(huì)對(duì)應(yīng)一個(gè)編號(hào)在 0-16383 之間的哈希槽,redis 會(huì)根據(jù)節(jié)點(diǎn)數(shù)量大致均等的將哈希槽映射到不同的節(jié)點(diǎn)。

例如三個(gè)節(jié)點(diǎn):槽分布的值如下:

  • SERVER1: 0-5460
  • SERVER2: 5461-10922
  • SERVER3: 10923-16383

1.1.2分布存儲(chǔ)機(jī)制-槽

(1)redis-cluster 把所有的物理節(jié)點(diǎn)映射到[0-16383]slot 上,cluster 負(fù)責(zé)維護(hù)node->slot->value

(2)Redis 集群中內(nèi)置了 16384 個(gè)哈希槽,當(dāng)需要在 Redis 集群中放置一個(gè) key-value 時(shí),redis 先對(duì) key 使用 crc16 算法算出一個(gè)結(jié)果,然后把結(jié)果對(duì) 16384 求余數(shù),這樣每個(gè)key 都會(huì)對(duì)應(yīng)一個(gè)編號(hào)在 0-16383 之間的哈希槽,redis 會(huì)根據(jù)節(jié)點(diǎn)數(shù)量大致均等的將哈希槽映射到不同的節(jié)點(diǎn)。

例如三個(gè)節(jié)點(diǎn):槽分布的值如下:

  • SERVER1: 0-5460
  • SERVER2: 5461-10922
  • SERVER3: 10923-16383

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • Nodejs中解決cluster模塊的多進(jìn)程如何共享數(shù)據(jù)問題
  • Redis Cluster集群數(shù)據(jù)分片機(jī)制原理
  • Redis cluster集群的介紹
  • Node.js中的cluster模塊深入解讀
  • 淺談node中的cluster集群
  • node.js中cluster的使用教程
  • node.js使用cluster實(shí)現(xiàn)多進(jìn)程
  • 淺談nodejs中創(chuàng)建cluster

標(biāo)簽:南寧 畢節(jié) 拉薩 定州 甘南 伊春 泰州 河源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Redis Cluster的圖文講解》,本文關(guān)鍵詞  Redis,Cluster,的,圖文,講解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Redis Cluster的圖文講解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Redis Cluster的圖文講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章