搜尋

首頁  >  問答  >  主體

主從複製 - redis主從, java客戶端使用jedis連接master,讀取請求會被路由到slave嗎?

redis主從,實現類似mysql的讀寫分離效果。在程式碼層面需要執行slave host嗎?
目前是透過jedis客戶端JedisSentinelPool連接哨兵集群,查看日誌輸出應該連接的是master的host
讀取請求會自動路由到slave嗎?

仅有的幸福仅有的幸福2747 天前1125

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:22:21

    主的配置好ip和端口,從的配置好Slaveof的master地址和端口號,哨兵監控master的ip和端口號,java代碼直接master的name和密碼就行了。
    `

    public static void main(String[] args) {
    
        Set<String> sentinels = new HashSet<String>();
         String hostAndPort1 = "127.0.0.1:26379";
         String hostAndPort2 = "127.0.0.1:26380";
        sentinels.add(hostAndPort1);
        sentinels.add(hostAndPort2);
    
        String clusterName = "mymaster";
         String password = "123456";
    
         JedisSentinelPool redisSentinelJedisPool = new JedisSentinelPool(clusterName,sentinels,password);
    
        Jedis jedis = null;
         try {
             jedis = redisSentinelJedisPool.getResource();
    
             System.out.println(jedis.get("key"));
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             redisSentinelJedisPool.returnBrokenResource(jedis);
        }
    
        redisSentinelJedisPool.close();

    `

    回覆
    0
  • 取消回覆