Redis集群 什么是slots


一個 Redis 集群包含 16384 個插槽(hash slot), 數據庫中的每個鍵都屬於這 16384 個插槽的其中一個, 集群使用公式 CRC16(key) % 16384 來計算鍵 key 屬於哪個槽, 其中 CRC16(key) 語句用於計算鍵 key 的 CRC16 校驗和 .
集群中的每個節點負責處理一部分插槽。 舉個例子, 如果一個集群可以有主節點, 其中:
節點 A 負責處理 0 號至 5500 號插槽。
節點 B 負責處理 5501 號至 11000 號插槽。
節點 C 負責處理 11001 號至 16383 號插槽。


在redis-cli每次錄入、查詢鍵值,redis都會計算出該key應該送往的插槽,如果不是該客戶端對應服務器的插槽,redis會報錯,並告知應前往的redis實例地址和端口。
redis-cli客戶端提供了 –c 參數實現自動重定向。
如 redis-cli -c –p 6379 登入后,再錄入、查詢鍵值對可以自動重定向。
不在一個slot下的鍵值,是不能使用mget,mset等多鍵操作。
可以通過{}來定義組的概念,從而使key中{}內相同內容的鍵值對放到一個slot中去。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM