zoukankan      html  css  js  c++  java
  • Redis-分布式

    package test.jedis;
    
    import java.util.HashSet;
    import java.util.Set;
    
    import org.junit.Test;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisSentinelPool;
    
    /**
     * 分布式redis 操作
     * 没有多台机器,在同一台机器上多个redis 实例来模拟多台机器测试
     * 
     * */
    public class SentinelPoolTest {
    	
    	@Test
        public void testJedis() throws InterruptedException {
    
            Set<String> sentinels = new HashSet<String>();
            sentinels.add("127.0.0.1:6377");
            sentinels.add("127.0.0.1:6378");
            sentinels.add("127.0.0.1:6379");
           
    
            JedisSentinelPool sentinelPool = new JedisSentinelPool("master_test",sentinels);
    
            Jedis jedis = sentinelPool.getResource();
    
            System.out.println("current Host:" + sentinelPool.getCurrentHostMaster());
    
            String key = "current key";
    
            String cacheData = jedis.get(key);
    
            if (cacheData == null) {
                jedis.del(key);
            }
    
            jedis.set(key, "write data");// 写入
    
            System.out.println(jedis.get(key));// 读取
    
            System.out.println("current Host:"  + sentinelPool.getCurrentHostMaster());// down掉master,观察slave是否被提升为master
    
            jedis.set(key, "bbb");// 测试新master的写入
    
            System.out.println(jedis.get(key));// 观察读取是否正常
    
            sentinelPool.returnResource(jedis);
            jedis.disconnect();
    
        }
    
    }
    

      

  • 相关阅读:
    rest framework 认证 权限 频率
    rest framework 视图,路由
    rest framework 序列化
    10.3 Vue 路由系统
    10.4 Vue 父子传值
    10.2 Vue 环境安装
    10.1 ES6 的新增特性以及简单语法
    Django 跨域请求处理
    20190827 On Java8 第十四章 流式编程
    20190825 On Java8 第十三章 函数式编程
  • 原文地址:https://www.cnblogs.com/zuolun2017/p/5623488.html
Copyright © 2011-2022 走看看