【转】Java代码操作Redis的sentinel和Redis的集群Cluster操作
总共四台机器,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操作的更多相关文章
- Java代码操作Redis的sentinel和Redis的集群Cluster操作
总共四台机器,crxy99,crxy98分别是主节点和从节点. crxy97和crxy96是两个监控此主从架构的sentinel节点. 看代码: import org.junit.Test; im ...
- Linux--6 redis订阅发布、持久化、集群cluster、nginx入门
一.redis发布订阅 Redis 通过 PUBLISH .SUBSCRIBE 等命令实现了订阅与发布模式. 其实从Pub/Sub的机制来看,它更像是一个广播系统,多个Subscriber可以订阅多个 ...
- redis单点、redis主从、redis哨兵sentinel,redis集群cluster配置搭建与使用
目录 redis单点.redis主从.redis哨兵 sentinel,redis集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作r ...
- redis与集群实用操作笔记
redis哨兵 部署方式 redis配置 首先需要区分的是主从redis,主机也就是用来写的机器,从机是从来读的,为主机分担压力,与集群不同的是redis哨兵不可通过从机写入数据同步到主机,但是也可以 ...
- Java接口对Hadoop集群的操作
Java接口对Hadoop集群的操作 首先要有一个配置好的Hadoop集群 这里是我在SSM框架搭建的项目的测试类中实现的 一.windows下配置环境变量 下载文件并解压到C盘或者其他目录. 链接: ...
- redis 5.0.3 讲解、集群搭建
REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...
- Redis安装(单机及各类集群,阿里云)
Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...
- 2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- redis基础之redis-sentinel(哨兵集群)(六)
前言 redis简单的主从复制在生产的环境下可能是不行的,因为从服务器只能读不能写,如果主服务器挂掉,那么整个缓存系统不能写入了:redis自带了sentinel(哨兵)机制可以实现高可用. redi ...
随机推荐
- ResponderChain note
http://ww3.sinaimg.cn/large/6b288462gw1evl4h40tfxj20sg0lc77k.jpg
- gcc命令中参数c和o混合使用的详解
gcc -c a.c 编译成目标文件a.o gcc -o a a.o 生成执行文件a.exe gcc a.c 生成执行文件a.exe gcc -o a -c a.c 编译成目标文件a gcc -o a ...
- Linxu
http://www.92csz.com/study/linux/ MySql 乱码 修改 /etc/my.cnf文件 character-set-server=utf8 , 表名不区分大小写:lo ...
- ListView@常用属性记录
android:stackFromBottom="true" | "false" 默认false 说明:当listview加载完毕,显示最下面的内容,或者显示最 ...
- Tomcat的JVM和连接数设置
Tomcat的JVM和连接数设置 Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m - ...
- redis获取当前时间精确到微秒
在redis取得当前时的方法为执行time命令 127.0.0.1:6382> time1) "1495780564"2) "894089" 第一行为以 ...
- log4写完日志不会自动释放
今天想做个日志记录功能.网上查了下.决定使用log4net 来做. 但是最发现在写日志的时候.会一直占用当前的日志文件.当你想查看的时候会提示另一个进程占用了该文件. 只有到他创建下一个日志文件.然后 ...
- 测试word发表博客
哈哈哈 我测试一下 <ul class="clearfix"> <li> <div><img src="{IMG_PATH}qr ...
- 为已经存在的本地项目添加git,以及从远程仓库拉取代码并切换远程分支
前提:先去gitlab或github网站上创建一个新项目,完毕后记得添加.ignore: 1.打开终端,cd到已存在项目的目录 2.输入以下命令行,初始化一个本地仓库: git init 3 ...
- 关于javascrpt if快速判断说明
在js中有如下值能作为if的条件判断: 在js中有6种类型 undefined.null.string.number.boolean和object object是对象类型 它们在逻辑运算符里有对应的 ...