Redis 重點(diǎn)回顧

2018-08-02 14:56 更新
  • 節(jié)點(diǎn)通過握手來將其他節(jié)點(diǎn)添加到自己所處的集群當(dāng)中。
  • 集群中的 16384 個(gè)槽可以分別指派給集群中的各個(gè)節(jié)點(diǎn), 每個(gè)節(jié)點(diǎn)都會(huì)記錄哪些槽指派給了自己, 而哪些槽又被指派給了其他節(jié)點(diǎn)。
  • 節(jié)點(diǎn)在接到一個(gè)命令請(qǐng)求時(shí), 會(huì)先檢查這個(gè)命令請(qǐng)求要處理的鍵所在的槽是否由自己負(fù)責(zé), 如果不是的話, 節(jié)點(diǎn)將向客戶端返回一個(gè)MOVED 錯(cuò)誤, MOVED 錯(cuò)誤攜帶的信息可以指引客戶端轉(zhuǎn)向至正在負(fù)責(zé)相關(guān)槽的節(jié)點(diǎn)。
  • 對(duì) Redis 集群的重新分片工作是由客戶端執(zhí)行的, 重新分片的關(guān)鍵是將屬于某個(gè)槽的所有鍵值對(duì)從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移至另一個(gè)節(jié)點(diǎn)。
  • 如果節(jié)點(diǎn) A 正在遷移槽 i 至節(jié)點(diǎn) B , 那么當(dāng)節(jié)點(diǎn) A 沒能在自己的數(shù)據(jù)庫(kù)中找到命令指定的數(shù)據(jù)庫(kù)鍵時(shí), 節(jié)點(diǎn) A 會(huì)向客戶端返回一個(gè) ASK 錯(cuò)誤, 指引客戶端到節(jié)點(diǎn) B 繼續(xù)查找指定的數(shù)據(jù)庫(kù)鍵。
  • MOVED 錯(cuò)誤表示槽的負(fù)責(zé)權(quán)已經(jīng)從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移到了另一個(gè)節(jié)點(diǎn), 而 ASK 錯(cuò)誤只是兩個(gè)節(jié)點(diǎn)在遷移槽的過程中使用的一種臨時(shí)措施。
  • 集群里的從節(jié)點(diǎn)用于復(fù)制主節(jié)點(diǎn), 并在主節(jié)點(diǎn)下線時(shí), 代替主節(jié)點(diǎn)繼續(xù)處理命令請(qǐng)求。
  • 集群中的節(jié)點(diǎn)通過發(fā)送和接收消息來進(jìn)行通訊, 常見的消息包括 MEET 、 PING 、 PONG 、 PUBLISH 、 FAIL 五種。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)