Redis Cluster是一種服務器sharding分片技術。
Redis3.0版本開始正式提供,解決了多Redis實例協(xié)同服務問題,時間較晚,目前能證明在大規(guī)模生產環(huán)境下成功的案例還不是很多,需要時間檢驗。
Redis Cluster中,Sharding采用slot(槽)的概念,一共分成16384個槽。對于每個進入Redis的鍵值對,根據(jù)key進行散列,分配到這16384個slot中的某一個中。使用的hash算法也比較簡單,CRC16后16384取模。
Redis Cluster中的每個node負責分攤這16384個slot中的一部分,也就是說,每個slot都對應一個node負責處理。例如三臺node組成的cluster,分配的slot分別是0-5460,5461-10922,10923-16383,
M: 434e5ee5cf198626e32d71a4aee27bc4058b4e45 127.0.0.1:7000slots:0-5460 (5461 slots) master M: 048a0c9631c87e5ecc97a4ce5834d935f2f938b6 127.0.0.1:7001slots:5461-10922 (5462 slots) master M: 04ae4184b2853afb8122d15b5b2efa471d4ca251 127.0.0.1:7002slots:10923-16383 (5461 slots) master