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

 

 

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

  Redis分區也稱做Redis分片,或者Redis集羣,這都是一個意思。redis

1、Redis集羣

1.1 Redis集羣的搭建

  集羣方面的教程也是有不少的,找了幾個以爲還不錯的,有須要的能夠去看看:spa

1.2 Redis集羣的不足

  這個仍是應該清楚的,看是否知足你如今的需求。.net

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

2、Redis集羣的Java客戶端訪問

  Redis分區後,Java客戶端的訪問也響應的複雜起來,若是使用Jedis的話,那就是先構造一個JedisCluster,而後經過它進行集羣操做:code

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

 

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

相關文章
相關標籤/搜索