【Redis】Redis學習(五) Redis cluster模式詳解


 

 

  一般情況下,使用主從模式加Sentinal監控就可以滿足基本需求了,但是當數據量過大一個主機放不下的時候,就需要對數據進行分區,將key按照一定的規則進行計算,並將key對應的value分配到指定的Redis實例上,這樣的模式簡稱Redis集群。

  Redis分區也稱作Redis分片,或者Redis集群,這都是一個意思。

一、Redis集群

1.1 Redis集群的搭建

  集群方面的教程也是有很多的,找了幾個覺得還不錯的,有需要的可以去看看:

1.2 Redis集群的不足

  這個還是應該清楚的,看是否滿足你現在的需求。

  • 一般涉及多個key的操作會不支持,取兩個set的並集,且兩個set在不同的Redis實例上面(當然也是能實現的,只是Redis不會直接支持這么做)。
  • 涉及多個key的事務將不能使用
  • 使用分區時,數據處理更加復雜,例如你必須處理多個RDB / AOF文件,你需要備份你的數據並聚合多個實例和主機的持久性文件。

二、Redis集群的Java客戶端訪問

  Redis分區后,Java客戶端的訪問也響應的復雜起來,如果使用Jedis的話,那就是先構造一個JedisCluster,然后通過它進行集群操作:

//使用需要的構造方法構造JedisCluster 
JedisCluster jedisCluster = new JedisCluster();
//JedisCluster 的使用,JedisCluster 具備Redis大多數方法
jedisCluster.set("key", "value");
//使用完后關閉
jedisCluster.close();

 

  Jedis的JedisCluster目前還在開發中,還不成熟,遇到問題了多去Git上反饋,如果能解決,就去Git上貢獻代碼。

 


免責聲明!

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



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