Redis叢集(一):基本概念

來源:互聯網
上載者:User

標籤:使用者   主從   處理   丟失   不包含   命令   slot   code   class   


一、使用版本:3.0.0.0
二、基本概念:
  1. Redis 叢集是一個可以在多個 Redis 節點之間進行資料共用的設施(installation)。
  2. Redis 叢集使用資料分區(sharding)而非一致性雜湊(consistency hashing)來實現: 一個 Redis 叢集包含 16384 個雜湊槽(hash slot), 資料庫中的每個鍵都屬於這 16384 個雜湊槽的其中一個, 叢集使用公式 CRC16(key) % 16384 來計算鍵 key 屬於哪個槽, 其中CRC16(key) 語句用於計算鍵 key 的 CRC16 校正和
  3. 叢集中的每個節點負責處理一部分雜湊槽。 舉個例子, 一個叢集可以有三個雜湊槽, 其中:
    1. 節點 A 負責處理 0 號至 5500 號雜湊槽。
    2. 節點 B 負責處理 5501 號至 11000 號雜湊槽。
    3. 節點 C 負責處理 11001 號至 16384 號雜湊槽。
  4. 節點的添加和移除
    1. 如果使用者將新節點 D 添加到叢集中, 那麼叢集只需要將節點 A 、B 、 C 中的某些槽移動到節點 D 就可以了。
    2. 如果使用者要從叢集中移除節點 A , 那麼叢集只需要將節點 A 中的所有雜湊槽移動到節點 B 和節點 C , 然後再移除空白(不包含任何雜湊槽)的節點 A 就可以了。
  5. 主從節點的作用
    1. 假如在建立叢集的時候(或者至少在節點 B 下線之前), 我們為主節點 B 添加了從節點 B1 , 那麼當主節點 B 下線的時候, 叢集就會將 B1 設定為新的主節點, 並讓它代替下線的主節點 B , 繼續處理 5501 號至 11000 號的雜湊槽, 這樣叢集就不會因為主節點 B 的下線而無法正常運作了。
  6. 非同步複製(雖然是非同步複製,但是執行寫命令和複製命令到從節點幾乎是同時執行,所以一般不會遺失資料)
    1. 用戶端向主節點 B 發送一條寫命令。
    2. 主節點 B 執行寫命令,並向用戶端返回命令回複。
    3. 主節點 B 將剛剛執行的寫命令複製給它的從節點 B1 、 B2 和 B3 。


三、參考資料:http://redisdoc.com/topic/cluster-tutorial.html http://www.redis.net.cn/ http://redis.io/


來自為知筆記(Wiz)

Redis叢集(一):基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.