总共四台机器,crxy99,crxy98分别是主节点和从节点.   crxy97和crxy96是两个监控此主从架构的sentinel节点.

直接看代码:

 1 import org.junit.Test;
2
3 import redis.clients.jedis.HostAndPort;
4 import redis.clients.jedis.Jedis;
5 import redis.clients.jedis.JedisPoolConfig;
6 import redis.clients.jedis.JedisSentinelPool;
7
8 public class TestSentinel {
9 @Test
10 public void test1() {
11 JedisPoolConfig poolConfig = new JedisPoolConfig();
12 String masterName = "mymaster";
13 Set<String> sentinels = new HashSet<String>();
14 sentinels.add("192.168.1.97:26379");
15 sentinels.add("192.168.1.96:26379");
16 JedisSentinelPool jedisSentinelPool = new JedisSentinelPool(masterName, sentinels, poolConfig);
17 HostAndPort currentHostMaster = jedisSentinelPool.getCurrentHostMaster();
18 System.out.println(currentHostMaster.getHost()+"--"+currentHostMaster.getPort());//获取主节点的信息
19 Jedis resource = jedisSentinelPool.getResource();
20 String value = resource.get("a");
21 System.out.println(value);//获得键a对应的value值
22 resource.close();
23 }
24
25 }

运行结果入下:

192.168.1.99--6379
1

Jedis操作集群....

模拟的集群环境.在一台机器上启动多个redis..每个redis对应的是不同端口.

在crxy99 192.168.1.99上启动的....总共3主3从 端口号对应的的是7000~7005.....

看代码:

 1 import java.util.HashSet;
2 import java.util.Set;
3 import org.junit.Test;
4 import redis.clients.jedis.HostAndPort;
5 import redis.clients.jedis.JedisCluster;
6 import redis.clients.jedis.JedisPoolConfig;
7
8 public class TestCluster {
9 @Test
10 public void test1() throws Exception {
11 JedisPoolConfig poolConfig = new JedisPoolConfig();
12 Set<HostAndPort> nodes = new HashSet<HostAndPort>();
13 HostAndPort hostAndPort = new HostAndPort("192.168.1.99", 7000);
14 HostAndPort hostAndPort1 = new HostAndPort("192.168.1.99", 7001);
15 HostAndPort hostAndPort2 = new HostAndPort("192.168.1.99", 7002);
16 HostAndPort hostAndPort3 = new HostAndPort("192.168.1.99", 7003);
17 HostAndPort hostAndPort4 = new HostAndPort("192.168.1.99", 7004);
18 HostAndPort hostAndPort5 = new HostAndPort("192.168.1.99", 7005);
19 nodes.add(hostAndPort);
20 nodes.add(hostAndPort1);
21 nodes.add(hostAndPort2);
22 nodes.add(hostAndPort3);
23 nodes.add(hostAndPort4);
24 nodes.add(hostAndPort5);
25 JedisCluster jedisCluster = new JedisCluster(nodes, poolConfig);//JedisCluster中默认分装好了连接池.
26 //redis内部会创建连接池,从连接池中获取连接使用,然后再把连接返回给连接池
27 String string = jedisCluster.get("a");
28 System.out.println(string);
29 }
30 }

【转】Java代码操作Redis的sentinel和Redis的集群Cluster操作的更多相关文章

  1. Java代码操作Redis的sentinel和Redis的集群Cluster操作

    总共四台机器,crxy99,crxy98分别是主节点和从节点.   crxy97和crxy96是两个监控此主从架构的sentinel节点. 看代码: import org.junit.Test; im ...

  2. Linux--6 redis订阅发布、持久化、集群cluster、nginx入门

    一.redis发布订阅 Redis 通过 PUBLISH .SUBSCRIBE 等命令实现了订阅与发布模式. 其实从Pub/Sub的机制来看,它更像是一个广播系统,多个Subscriber可以订阅多个 ...

  3. redis单点、redis主从、redis哨兵sentinel,redis集群cluster配置搭建与使用

    目录 redis单点.redis主从.redis哨兵 sentinel,redis集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作r ...

  4. redis与集群实用操作笔记

    redis哨兵 部署方式 redis配置 首先需要区分的是主从redis,主机也就是用来写的机器,从机是从来读的,为主机分担压力,与集群不同的是redis哨兵不可通过从机写入数据同步到主机,但是也可以 ...

  5. Java接口对Hadoop集群的操作

    Java接口对Hadoop集群的操作 首先要有一个配置好的Hadoop集群 这里是我在SSM框架搭建的项目的测试类中实现的 一.windows下配置环境变量 下载文件并解压到C盘或者其他目录. 链接: ...

  6. redis 5.0.3 讲解、集群搭建

    REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...

  7. Redis安装(单机及各类集群,阿里云)

    Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...

  8. 2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程

    * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...

  9. redis基础之redis-sentinel(哨兵集群)(六)

    前言 redis简单的主从复制在生产的环境下可能是不行的,因为从服务器只能读不能写,如果主服务器挂掉,那么整个缓存系统不能写入了:redis自带了sentinel(哨兵)机制可以实现高可用. redi ...

随机推荐

  1. html页面布局总结篇

    1. 使用float布局 注意点:使用浮动布局要注意清除浮动.使用伪类清除 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框. 而此 ...

  2. http连接优化与浏览器允许的并发请求资源数相关资料(整理转载)

    网页性能优化相关资料: https://developer.yahoo.com/performance/rules.html#page-nav 前端技术的逐渐成熟,还衍生了domain hash, c ...

  3. ASP.NET MVC分页 Ajax+JsRender

    前段时间整mvc的分页,倒是很顺利,参考了以下几篇博客,启发很大. http://www.cnblogs.com/tangmingjun/archive/2012/05/30/2526301.html ...

  4. 实战c++中的string系列--string与char*、const char *的转换(data() or c_str())

    在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型: const char *c_str(); c_str()函数 ...

  5. openvpn 客户端配置

    clientdev tunproto tcpremote xx.xx.xx.xx   1194resolv-retry infinitenobindpersist-keypersist-tunca c ...

  6. Z律师:创业项目如何玩转股权众筹?

    原文地址:http://mt.sohu.com/20150619/n415345889.shtml 大家好,这是Z律师创业学院第一期的结业课了,正式集中的课程,就到今天为止,未来有机会,还是会不定期安 ...

  7. CentOS的Gearman安装

    背景:用PHP做一些简单的上传是没有任何的问题,但是要做断点上传好像也是没有大问题,但要是并发的切片加断点上传可能就会有问题了哟.第一个问题是合并问题:如果一上传就合并,PHP老半天不返回是一个方面( ...

  8. Android studio导入framework编译的classes.jar包

    1.在libs文件夹中加入jar包,并将其置顶 注:studio3.1的scope没有Provided选项,都默认选择implementation,studio2.3及以下版本需要将scope设置为P ...

  9. 【转】腾讯移动品质中心TMQ [腾讯 TMQ] 测试管理平台大比拼

    简介 测试管理平台是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题,比如缺陷管理.用例管理.测试任务管理等. 目前市面上比较流行的测试管理工具有QC. Mantis. BugZ ...

  10. 9、Qt 事件处理机制

    原文地址:http://mobile.51cto.com/symbian-272812.htm 在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 接下来依次谈谈Qt中有谁来产生 ...