Redis中sentinel集群的搭建和Jedis测试图文教程[二](二)

2015-07-24 06:16:55 · 作者: · 浏览: 2
key) { if (jedisSentinelPool == null) return false; synchronized (syncObj) { Jedis jedis = null; try { jedis = jedisSentinelPool.getResource(); if (jedis != null) { jedis.del(key); return true; } } catch (Exception ex) { ex.printStackTrace(); jedisSentinelPool.returnBrokenResource(jedis); } finally { jedisSentinelPool.returnResource(jedis); } return false; } } static public boolean Auth(String key) { if (jedisSentinelPool == null) return false; synchronized (syncObj) { Jedis jedis = null; try { jedis = jedisSentinelPool.getResource(); if (jedis != null) { jedis.auth(key); return true; } } catch (Exception ex) { ex.printStackTrace(); jedisSentinelPool.returnBrokenResource(jedis); } finally { jedisSentinelPool.returnResource(jedis); } return false; } } static public Set Select(String pattern) { if (jedisSentinelPool == null) return null; synchronized (syncObj) { Jedis jedis = null; try { jedis = jedisSentinelPool.getResource(); if (jedis != null) { Set keys = jedis.keys(pattern); return keys; } } catch (Exception ex) { ex.printStackTrace(); jedisSentinelPool.returnBrokenResource(jedis); } finally { jedisSentinelPool.returnResource(jedis); } return null; } } }

RedisTest.java为测试main函数

public class RedisTest {

    public static void main(String[] args) {

        RedisConnector.Start();

        RedisConnector.Set("str1", "world");
        System.out.println(RedisConnector.Get("str", "default"));
        System.out.println(RedisConnector.Get("str1", "default"));
    }
}

初始运行RedisTest.java文件,会发现如下问题
这里写图片描述

因为我是用两台机子测试的,一台跑redis服务器,服务器的ip为192.168.0.86。一台跑测试java程序,测试程序所在机子的ip为192.168.0.83。两台机子在一个局域网段。

但是我之前sentinel配置master-slave的时候有的ip设为127.0.0.1,当然192.168.0.83上的测试程序无法连接127.0.0.1的服务器从而无法获取资源。

把sentinel配置中的ip全部改为192.168.0.86

运行程序结果如下:
这里写图片描述