首頁  >  文章  >  資料庫  >  redis槽是什麼

redis槽是什麼

藏色散人
藏色散人原創
2019-06-19 11:50:495609瀏覽

redis槽是什麼

redis槽是什麼?

槽(slot)概念

Redis Cluster中有一個16384長度的槽的概念,他們的編號為0、1、2、3… …16382、16383。這個槽是一個虛擬的槽,並不是真正存在的。

正常運作的時候,Redis Cluster中的每個Master節點都會負責一部分的槽,當有某個key被映射到某個Master負責的槽,那麼這個Master負責為這個key提供服務,至於哪個Master節點負責哪個槽,這是可以由使用者指定的,也可以在初始化的時候自動產生(redis-trib.rb腳本)。

這裡值得一提的是,在Redis Cluster中,只有Master才擁有槽的所有權,如果是某個Master的slave,這個slave只負責槽的使用,但是沒有所有權。

推薦:《Redis影片教學

Redis Cluster分片實作

一般分片(Sharding)實現的方式有list、range和hash(或基於上述的組合方式)等方式。

而Redis的實作方式是基於hash的分片方式,具體是虛擬槽分區。

虛擬槽分區槽(slot):使用分散度良好的hash函數把所有資料映射到一個固定範圍的整數集合中,這個整數集合就是槽。

Redis Cluster槽: Redis Cluster槽的範圍是0 ~ 16383。槽是叢集內資料管理和遷移的基本單位。

以上是redis槽是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn