<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                * 哨兵自動故障轉移 * 自動通知應用最新master信息 * 無需擔心,master掛了,程序不需要修改IP啥的,由哨兵自動完成 1. 修改sentinel.conf ~~~ protected-mode no # 默認只允許本機訪問sentinel服務 ~~~ > * 工具類 ~~~ package redis.client.sentinel; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisSentinelPool; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * Created by dailin on 2017/7/27. */ public class Redis_Sentinel { public static JedisSentinelPool sentinelPool = null; private static JedisPoolConfig jedisPoolConfig = null; private Redis_Sentinel(){} private static void initSentinelPool(Set<String> sentinels){ synchronized (Redis_Sentinel.class){ if (sentinelPool == null) { GenericObjectPoolConfig gPoolConfig=new GenericObjectPoolConfig(); gPoolConfig.setMaxIdle(10); gPoolConfig.setMaxTotal(10); gPoolConfig.setMinIdle(1); gPoolConfig.setMaxWaitMillis(10); gPoolConfig.setJmxEnabled(true); sentinelPool = new JedisSentinelPool("mymaster",sentinels,gPoolConfig); } } } public static Jedis getJedis(Set<String> sentinels){ initSentinelPool(sentinels); return sentinelPool.getResource(); } public static void returnJedis(Jedis jedis){ sentinelPool.returnResource(jedis); } } ~~~ > * 測試類 ~~~ import org.junit.Before; import org.junit.Test; import redis.client.sentinel.Redis_Sentinel; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Jedis; import java.util.HashSet; import java.util.List; import java.util.Set; /** * Created by dailin on 2017/7/27. */ public class TestSentinel { Set<String> sentinel = null; @Before public void init() { sentinel = new HashSet<String>(); sentinel.add("192.168.56.130:26379"); sentinel.add("192.168.56.131:26379"); } @Test public void testSentinel(){ while(true) { try{ Jedis jedis = Redis_Sentinel.getJedis(sentinel); String result = jedis.get("dai"); HostAndPort currentHostMaster = Redis_Sentinel.sentinelPool.getCurrentHostMaster(); System.out.println("master:"+currentHostMaster.getHost()+"-port:"+currentHostMaster.getPort()); Redis_Sentinel.returnJedis(jedis); System.out.println(result); }catch (Exception e){ e.printStackTrace(); } } } } ~~~ > 這個測試類會一直訪問redis,當master被停止后,程序拋出異常,過了一小會新的master被選出,程序又正常執行,所以使用jedis連接redis時,只需要傳入sentinel的地址即可,自動在redis的master宕機后,自動更新連接新master信息。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看