判断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是否同步完成

Original: https://www.cnblogs.com/520playboy/p/13523116.html
Author: 坏~牧羊人
Title: 判断Redis复制是否完成的方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529288/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球