Redis集群查找數(shù)據(jù)的過程

在Redis集群中,每個(gè)節(jié)點(diǎn)都會(huì)保存槽信息,比如Redis集群默認(rèn)有16384個(gè)槽,假設(shè)node0節(jié)點(diǎn)保存了0-4000槽數(shù)據(jù),node1保存了4001-8000槽數(shù)據(jù),node2 保存了80001-16383槽數(shù)據(jù),則在每個(gè)節(jié)點(diǎn)中,都保存有當(dāng)前節(jié)點(diǎn)處理哪些槽數(shù)據(jù),哪些數(shù)據(jù)由其他節(jié)點(diǎn)處理,如node0保存了0-4000由node0處理,4001-8000由node1處理,80001-16383由node2處理。

當(dāng)客戶端請求過來。如果首先到達(dá)node0,當(dāng)時(shí)這個(gè)key(假設(shè)計(jì)算出槽節(jié)點(diǎn)為10086)所在的槽并不在node0 節(jié)點(diǎn)上(假設(shè)node0通過自己保存結(jié)構(gòu)查詢出來處理key的節(jié)點(diǎn)為node1,地址為127.0.0.1:7001),node0 會(huì)返回給客戶端一個(gè)MOVED錯(cuò)誤,結(jié)果類似如下

MOVED 10086 127.0.0.1:7001

這樣客戶端就知道它應(yīng)該去127.0.0.1:7001再做請求

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容