参考文档

http://redis.readthedocs.org/en/latest/topic/cluster-tutorial.html#id5

http://blog.csdn.net/myrainblues/article/details/25881535

集群的客户端命令为 redis-cli -c -p 7000 , 必须带  -c 否则认为是普通的redis客户端

普通命令测试如下

检查slave 和 master的关系 , slave 和 master 是主从关系,实时备份, 这是跟 codis 的一个很大的不同,codis 的 slave 和 master 数据不同步,属于主备关系

同样不支持 mget 这种批量处理类型的命令

所有的master 节点 相对于客户端而言是等价的,如下图

客户端 Jedis 的使用 ( Jedis 2.6.2 版本)

    @Test
public void testRedis300() {
Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("192.168.10.229", ));
//jedisClusterNodes.add(new HostAndPort("192.168.10.229", 7002));
//jedisClusterNodes.add(new HostAndPort("192.168.10.229", 7003));
JedisCluster jc = new JedisCluster( jedisClusterNodes );
String t1 = jc.get("t_1");
System.out.println("t=" + t1); Map<String, JedisPool> map = jc.getClusterNodes();
for ( String k: map.keySet()) {
Jedis jedis = null;
JedisPool p = map.get( k );
try {
jedis = p.getResource();
t1 = p.getResource().get("t_1");
} catch (Exception e) {
p.returnBrokenResource( jedis );
jedis = null;
// TODO: handle exception
} finally{
if( jedis != null ){
p.returnResource( jedis );
}
}
System.out.println("k=" + k + ",t1=" + t1);
}
Assert.assertTrue(true);
}

结果如下

t=
k=192.168.10.229:,t1=
k=192.168.10.229:,t1=
k=192.168.10.229:,t1=
k=192.168.10.229:,t1=
k=192.168.10.229:,t1=
k=192.168.10.229:,t1=

jedis客户端的坑.

1)cluster环境下redis的slave不接受任何读写操作,

2)client端不支持keys批量操作,不支持select dbNum操作,只有一个db:select 0

3)JedisCluster 的info()等单机函数无法调用,返回(No way to dispatch this command to Redis Cluster)错误,.

4)JedisCluster 没有针对byte[]的API,需要自己扩展(附件是我加的基于byte[]的BinaryJedisCluster  api)

redis 3.0 集群__使用的更多相关文章

  1. redis 3.0 集群__数据迁移和伸缩容

    添加节点 1,启动2个新的redis-sever, 参照 ( redis 3.0 集群____安装 ),端口号为 7007 和 7008 2,使用命令 redis-trib.rb add-node 命 ...

  2. redis 3.0 集群__配置文件详解(常用配置)

    参考文档 http://www.cnblogs.com/huangjacky/p/3700473.html http://www.cnblogs.com/cxd4321/archive/2012/12 ...

  3. redis 3.0 集群__安装

    参考文档 http://redis.io/topics/cluster-tutorial http://redis.io/topics/cluster-spec http://redis.readth ...

  4. redis 3.0 集群__故障测评

    一, slave 是不能通过redis-cli 直接进行读写操作的,但是可以执行 keys, info 命令( 猜测类似全局性的不影响到原子性操作的命令应该都可以,没有一一试验) 二,集群中的某节点异 ...

  5. redis 3.0 集群__监控警报工具(sentinel)

    参考文档 http://redis.readthedocs.org/en/latest/topic/sentinel.html 因为目前还处于开发阶段,就先不研究了,待续

  6. Redis 3.0 集群搭建

    Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...

  7. Redis 3.0集群 Window搭建方案

    Redis 3.0集群 Window搭建方案 1.集群安装前准备 安装Ruby环境,安装:rubyinstaller-2.3.0-x64.exe http://dl.bintray.com/onecl ...

  8. Redis 5.0 集群搭建

    Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...

  9. 国际站中国区,孟买上Redis 4.0 集群版

    信息摘要: 国际站中国区,孟买上线Redis 4.0 集群版适用客户: 所有用户版本/规格功能: redis 4.0 集群版产品文档: https://www.alibabacloud.com/hel ...

随机推荐

  1. ElasticSearch的java api

    pom <dependencies> <dependency> <groupId>org.elasticsearch.client</groupId> ...

  2. 第五章 大数据平台与技术第11讲 MapReduce编程

    在大规模的数据当中,需要分发任务,需要进行分布式的并行编程.Hadoop这样一种开源的大数据分析平台. Map阶段 Reduce阶段:相同的键把它聚集到一起之后,然后通过Reduce方式把相同的键聚集 ...

  3. java动态规划导弹问题

    这是一道动态规划题,和昨天的取硬币还有最长公共字串有点类似. 1.题目描述:                        某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一 ...

  4. [erlang 001] erlang中的错误及异常处理

    一. erlang中的错误 1. 分类 1) 编译错误:主要是编译器检测出的代码语法错误: 2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题: 3) 运行时错误:是指erlang运行时抛 ...

  5. 【小前端】float属性

    要求 需要float的元素,必须指定一个width宽度 没了 然后就可以指定 float:right 什么的了

  6. maven filter插件只替换了部分变量问题

    maven filter简介 maven的resources插件,有一个filter的作用,能够在打包的时候,从特定文件里读取key-value对,替换配置文件中的占位符变量.很多线上线下有不同环境的 ...

  7. Openssl rsautl命令

    一.简介 rsautl指令能够使用RSA算法签名,验证身份,加密/解密数据 二.语法 openssl rsautl [-in file] [-out file] [-inkey file] [-pas ...

  8. Luogu 4245 【模板】任意模数NTT

    这个题还有一些其他的做法,以后再补,先记一下三模数$NTT$的方法. 发现这个题不取模最大的答案不会超过$10^5 \times 10^9 \times 10^9 = 10^{23}$,也就是说我们可 ...

  9. input框添加阴影效果

    .input:hover,.input:focus{ border:1px solid #85afe1; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0 ...

  10. maven 引用本地jar

    1.添加lib文件夹在src文件夹中.2.拷贝所需要的test.jar包到lib文件夹.3.在pom文件加入如下依赖 <!--添加本地私有包--><dependency> &l ...