判断Redis复制是否完成的方法(转载)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了判断Redis复制是否完成的方法(转载),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1602字,纯文字阅读大概需要3分钟。
内容图文
![判断Redis复制是否完成的方法(转载)](/upload/InfoBanner/zyjiaocheng/875/742fe9139d2a49308232cde4af91160e.jpg)
当需要使用Redis的复制功能时,有时需要能及时的得到复制完成的信息,或者说复制的进度。
实现方法
方式1-可行
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是否同步完成。
方式2-不可行
类似的,如果在客户端执行info Replication命令:
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:3132
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
这里同样可以通过slave_repl_offset得到当前slave的复制偏移量。
但是这里的master_repl_offset 字段,经过测试发现它的值始终为0,
未能如名字所示的展示master此刻的offset。
转载文档
https://skyao.github.io/2014/09/25/redis-repl-check/
内容总结
以上是互联网集市为您收集整理的判断Redis复制是否完成的方法(转载)全部内容,希望文章能够帮你解决判断Redis复制是否完成的方法(转载)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。