zoukankan      html  css  js  c++  java
  • Java代码操作Redis的sentinel和Redis的集群Cluster操作

    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 }
  • 相关阅读:
    数据结构(树链剖分):NOI2014 购票
    数据结构(树链剖分):COGS 2109. [NOIP2015] 运输计划
    数据结构(树链剖分,堆):HNOI 2016 network
    快速傅里叶变换(FFT):COGS 2216. 你猜是不是KMP
    生成树的计数(基尔霍夫矩阵):BZOJ 1002 [FJOI2007]轮状病毒
    数据结构(线段树):BZOJ 3126: [Usaco2013 Open]Photo
    数位DP:SPOJ KPSUM
    动态规划(状态压缩):BZOJ 2621 [Usaco2012 Mar]Cows in a Skyscraper
    数据结构(并查集):COGS 260. [NOI2002] 银河英雄传说
    生成树的计数(基尔霍夫矩阵):UVAoj 10766 Organising the Organisation SPOJ HIGH
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/5631501.html
Copyright © 2011-2022 走看看