【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

相关文章
相关标签/搜索