欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

redis中的槽有多少個(gè)

本篇文章為大家展示了redis中的槽有多少個(gè),代碼簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元西區(qū)做網(wǎng)站,已為上家服務(wù),為西區(qū)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

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)。Redis 集群沒有使用一致性hash, 而是引入了哈希槽的概念。

Redis 集群有16384個(gè)哈希槽,每個(gè)key通過CRC16校驗(yàn)后對(duì)16384取模來決定放置哪個(gè)槽.集群的每個(gè)節(jié)點(diǎn)負(fù)責(zé)一部分hash槽。這種結(jié)構(gòu)很容易添加或者刪除節(jié)點(diǎn),并且無論是添加刪除或者修改某一個(gè)節(jié)點(diǎn),都不會(huì)造成集群不可用的狀態(tài)。

使用哈希槽的好處就在于可以方便的添加或移除節(jié)點(diǎn)。

當(dāng)需要增加節(jié)點(diǎn)時(shí),只需要把其他節(jié)點(diǎn)的某些哈希槽挪到新節(jié)點(diǎn)就可以了;

當(dāng)需要移除節(jié)點(diǎn)時(shí),只需要把移除節(jié)點(diǎn)上的哈希槽挪到其他節(jié)點(diǎn)就行了;

在這一點(diǎn)上,我們以后新增或移除節(jié)點(diǎn)的時(shí)候不用先停掉所有的 redis 服務(wù)。

在redis中,把一個(gè)key-value鍵值對(duì)放入的最簡單的方式就是set key value,如下所示:

127.0.0.1:7000> set key value
-> Redirected to slot [12539] located at 192.168.39.153:7002
OK
192.168.39.153:7002> get key
"value"
192.168.39.153:7002>

可以看出,當(dāng)我們把key的值設(shè)置成為value的時(shí)候,客戶端被重定向到了另一個(gè)節(jié)點(diǎn)192.168.39.153:7002,這是因?yàn)閗ey對(duì)應(yīng)的槽位是12359,所以我們的key-value就被放到了槽12359對(duì)應(yīng)的節(jié)點(diǎn),192.168.39.153:7002了。

Redis Cluster是自己做的crc16的簡單hash算法,沒有用一致性hash。Redis的作者認(rèn)為它的crc16(key) mod 16384的效果已經(jīng)不錯(cuò)了,雖然沒有一致性hash靈活,但實(shí)現(xiàn)很簡單,節(jié)點(diǎn)增刪時(shí)處理起來也很方便。

節(jié)點(diǎn)增刪時(shí)不丟失數(shù)據(jù)和hash算法沒什么關(guān)系,不丟失數(shù)據(jù)要求的是一份數(shù)據(jù)有多個(gè)副本。

當(dāng)你往Redis Cluster中加入一個(gè)Key時(shí),會(huì)根據(jù)crc16(key) mod 16384計(jì)算這個(gè)key應(yīng)該分布到哪個(gè)hash slot中,一個(gè)hash slot中會(huì)有很多key和value。你可以理解成表的分區(qū),使用單節(jié)點(diǎn)時(shí)的redis時(shí)只有一個(gè)表,所有的key都放在這個(gè)表里;改用Redis Cluster以后會(huì)自動(dòng)為你生成16384個(gè)分區(qū)表,你insert數(shù)據(jù)時(shí)會(huì)根據(jù)上面的簡單算法來決定你的key應(yīng)該存在哪個(gè)分區(qū),每個(gè)分區(qū)里有很多key。

上述內(nèi)容就是redis中的槽有多少個(gè),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:redis中的槽有多少個(gè)
分享網(wǎng)址:http://chinadenli.net/article12/jdssdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、微信小程序、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)