搜索

首页  >  问答  >  正文

主从复制 - redis主从, java客户端使用jedis连接master,读请求会被路由到slave吗?

redis主从,实现类似mysql的读写分离效果。在代码层面需要执行slave host吗?
目前是通过jedis客户端JedisSentinelPool连接哨兵集群,查看日志输出应该连接的是master的host
读请求会被自动路由到slave吗?

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

全部回复(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
  • 取消回复