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

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

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     @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 }
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5631501.html,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
25天前
|
运维 NoSQL 算法
Redis-Cluster 与 Redis 集群的技术大比拼
Redis-Cluster 与 Redis 集群的技术大比拼
20 0
|
1天前
|
NoSQL 测试技术 Redis
六步操作教你轻松搭建Redis集群
Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。
14 0
|
1天前
|
存储 Oracle Java
Java 包和 API 深度解析:组织代码,避免命名冲突
Java 中的包 用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突,并编写更易于维护的代码。 包分为两类: 内置包(来自 Java API 的包) 用户定义的包(创建自己的包)
170 2
|
4天前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
25 0
|
8天前
|
Java 测试技术
|
8天前
|
人工智能 文字识别 Java
AI工具【OCR 01】Java可使用的OCR工具Tess4J使用举例(身份证信息识别核心代码及信息提取方法分享)
【2月更文挑战第1天】Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,本次介绍Tess4J
37 0
|
9天前
|
NoSQL Java MongoDB
java 连接mongodb的样例代码
java 连接mongodb的样例代码
|
22天前
|
存储 Java
java Map集合相关介绍和方法使用操作
java Map集合相关介绍和方法使用操作
19 2
|
22天前
|
存储 Java
java set集合相关介绍和方法使用操作
java set集合相关介绍和方法使用操作
16 2
|
22天前
|
存储 Java 程序员
Java数组全套深入探究——基础知识阶段3、数组下标操作
Java数组全套深入探究——基础知识阶段3、数组下标操作
12 0