suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Master-Slave-Replikation - Redis Master-Slave, der Java-Client verwendet Jedis, um eine Verbindung zum Master herzustellen. Wird die Leseanforderung an den Slave weitergeleitet?

redis Master-Slave, wodurch ein Lese-Schreib-Trennungseffekt ähnlich wie bei MySQL erzielt wird. Ist es notwendig, den Slave-Host auf Codeebene auszuführen?
Derzeit ist der Sentinel-Cluster über den Jedis-Client JedisSentinelPool verbunden. Beim Anzeigen der Protokollausgabe sollte die Verbindung zum Host des Masters erfolgen. Wird die Leseanforderung automatisch an den Slave weitergeleitet?

仅有的幸福仅有的幸福2826 Tage vor1211

Antworte allen(1)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味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();

    `

    Antwort
    0
  • StornierenAntwort