博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java代码操作Redis的sentinel和Redis的集群Cluster操作
阅读量:3554 次
发布时间:2019-05-20

本文共 2635 字,大约阅读时间需要 8 分钟。

Jedis操作Redis的sentinel示例代码:

总共四台机器,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     @Test10     public void test1() {11         JedisPoolConfig poolConfig = new JedisPoolConfig();12         String masterName = "mymaster";13         Set
sentinels = new HashSet
();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--63791

 

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     @Test10     public void test1() throws Exception {11         JedisPoolConfig poolConfig = new JedisPoolConfig();12         Set
nodes = new HashSet
();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 }

转载地址:http://ypzrj.baihongyu.com/

你可能感兴趣的文章
springboot读取配置文件 例:读取配置文件的优先顺序;在主配置文件中激活其他配置文件;加载非主配置文件
查看>>
自动配置原理
查看>>
TCP协议
查看>>
关于Linux系统使用遇到的问题-1:vi 打开只读(readonly)文件如何退出保存?
查看>>
redis 持久化详解,RDB和AOF是什么?他们优缺点是什么?运行流程是什么?
查看>>
spring注解版(一)
查看>>
SpringBoot中访问控制层(controller)得不到Json数据
查看>>
react项目报出警告Warning: Cannot update during an existing state transition (such as within `render`).
查看>>
BFC(Block Formatting Context)
查看>>
什么是作用域,什么是闭包,什么是作用域链
查看>>
惰性求值,面向对象
查看>>
数据结构之列表
查看>>
发布/订阅模式 vs 观察者模式
查看>>
es5中的arguments对象
查看>>
git本地仓库和远程仓库关联,分支重命名
查看>>
js对象的深拷贝,你真的觉得很简单吗?
查看>>
你真的了解map方法吗?手动实现数组map方法。
查看>>
带你手动实现call方法,让你收获满满
查看>>
前端知识体系
查看>>
查找入职员工时间排名倒数第三的员工所有信息
查看>>