• 判断Redis复制是否完成的方法


    当需要使用Redis的复制功能时,有时需要能及时的得到复制完成的信息,或者说复制的进度。

    Redis提供的INFO命令,可以提供redis运行时的各种信息。我们这里需要关注Replication段:

    redis-cli下连接到redis master服务器,执行info命令

    $ redis-cli
    127.0.0.1:6379> info Replication
    

    得到以下输出:

    # Replication
    role:master
    connected_slaves:1
    slave0:ip=127.0.0.1,port=6371,state=online,offset=3132,lag=0
    master_repl_offset:3132
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2
    repl_backlog_histlen:3131
    

    role:master表示这是一个master,master_repl_offset:3132 可以得到当前master记录的复制偏移量。而”slave0:ip=127.0.0.1,port=6371,state=online,offset=3132,lag=0”是当前连接到这个master的slave的信息,offset=3132 是当前slave的复制偏移量。

    在这个例子中,master和slave的offset相同,说明此刻slave已经复制到最新的数据。

    总结,我们只需要在master端执行info replication命令,根据上面的输出,比较当前master和slave的offset,就可以知道当前slave是否同步完成

  • 相关阅读:
    强迫症患者
    GG的匹配串
    漂洋过海来看你
    Fire or Retreat
    1011. A+B和C (15)
    1010. 一元多项式求导 (25)
    1009. 说反话 (20)
    1008. 数组元素循环右移问题 (20)
    1007. 素数对猜想 (20)
    1006. 换个格式输出整数 (15)
  • 原文地址:https://www.cnblogs.com/520playboy/p/13523116.html
Copyright © 2020-2023  润新知