【转】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 ...
随机推荐
- Install Shield常用函数以及参数
nstall Shield函数库 1 库函数综述InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及 ...
- html5的UI框架
http://www.idangero.us/framework7/ http://goratchet.com/ http://cnratchet.com/ http://amazeui.org/ h ...
- python 安装pycurl
yum install libghc-gnutls-dev opnssl nss -y 126 yum install libghc-gnutls-dev -y 127 yum install htt ...
- thymeleaf传值onclick到js
带有单引号 targetUrl('val') <a th:onclick="'javascript:targetUrl(\''+${indexURL.value}+'\');'&quo ...
- TiDB 源码阅读系列文章(一)序
原创: 申砾 PingCAP 2018-02-28 在 TiDB DevCon2018 上,我们对外宣布了 TiDB 源码阅读分享活动,承诺对外发布一系列文章以及视频帮助大家理解 TiDB 源码.大 ...
- MFC函数—— CWnd::PreCreateWindow
CWnd::PreCreateWindow virtual BOOL PreCreateWindow( CREATESTRUCT& cs ); 返回值: 如果要继续窗口的创建过程,则返回非零 ...
- PHP也玩并发,巧用curl 并发减少后端访问时间
首先,先了解下 php中的curl多线程函数: # curl_multi_add_handle# curl_multi_close# curl_multi_exec# curl_multi_getco ...
- [hadoop读书笔记] 第五章 MapReduce工作机制
P205 MapReduce的两种运行机制 第一种:经典的MR运行机制 - MR 1 可以通过一个简单的方法调用来运行MR作业:Job对象上的submit().也可以调用waitForCompleti ...
- 为什么c++中,有时可以用类名直接访问非静态成员函数?
正规的C++语言标准目前(截止到C++14)应该还不支持这种调用方法.目前微软似乎在它的VC++中推行一种叫做C++/CLI的标准,有可能会支持这种调用,如果一定要用这种调用方法的话,还应该用VS20 ...
- Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 【转】
一.安装Golang的SDK 在官网 http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入 ...