首页 >数据库 >Redis > 正文

redis的增量同步如何实现

原创2019-11-27 09:49:3101882

Redis现有同步策略

1、增量同步功能组成部分 (推荐学习:Redis视频教程

1)主服务器的复制偏移量和从服务器的复制偏移量;

主服务器每次向从服务器传播N个字节的数据时,就将自己的复制偏移量的值加N;

从服务器每次收到主服务器传播来的N个字节的数据时,就将自己的复制偏移量的值加上N。

2)主服务器的复制积压缓冲区;

由主服务器维护的一个固定长度队列,默认为1M,当主服务器进行命令传播时,它不仅会将写命令发送给所有从服务器,还会将写命令入队到复制积压缓冲区里面。

3)服务器的运行ID。

每个服务器在启动时随机生成运行ID(runid)。

2、增量同步实现

1)从服务器向主服务器发送PSYNC命令,携带主服务器的runid和复制偏移量;

2)主服务器验证runid和自身runid是否一致,如不一致,则进行全量复制;

3)主服务器验证复制偏移量是否在积压缓冲区内,如不在,则进行全量复制;

4)如都验证通过,则主服务器将保持在积压区内的偏移量后的所有数据发送给从服务器,主从服务器再次回到一致状态。

3、结论

1) 只有当从服务器的携带的主服务器runid和offset都符合,Redis才会采用增量同步的策略,存在着很大的局限性;

2) 因此从服务器重启、更换主服务器、以及断连时间过长,redis都会采用全量同步的策略。

更多Redis相关技术文章,请访问Redis入门教程栏目进行学习!

以上就是redis的增量同步如何实现的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:redis
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • Redis命令操作中文手册Redis命令操作中文手册
  • Redis参考手册Redis参考手册
  • 燕十八redis视频教程燕十八redis视频教程
  • Redis中文开发手册Redis中文开发手册
  • 视频教程分类