栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis-主从复制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis-主从复制

文章目录
  • 前言
  • 主从复制
    • 概念
    • 配置
    • 同步流程


前言

为了提高Redis的可靠性提供了主从复制、集群的方案


主从复制 概念
主从之间提供异步复制的方式,将主库中的数据在存储之后再同步到从库
配置

只需要从库添加该配置,主库会自动识别从库。

#example replicaof 192.168.1.1 6379
replicaof   

如果不添加配置 启动时使用命令:redis-server replicaof 192.168.1.1 6379亦可。

同步流程
  • 全量数据同步
  • 增量数据同步
  • 服务器RUN ID
    每个redis都有自己的RUN ID,启动时由40个随机的十六进制字符生成;
    • 当从库对主库初次复制时,主库将自身的runid传送给从库,从库会将runid保存;
    • 当从库断线重连主库时,从库将向主库发送之前保存的RUN ID;
      • 从库RUN ID和主库RUN ID一致,说明从库断线前复制的就是当前主库;主库尝试执行增量同步;
      • 若不一致,说明从库断线前复制的主库并不时当前的主库,则主库将对从库执行全量同步操作;
  • 复制偏移量 offset
    主从都会维护一个复制偏移量,通过比较offset得知主从之间数据是否一致;偏移量相同则数据一致;偏移量不同则数据不一致;
    • 主库向从库发送N个字节的数据时,将自己的复制偏移量上加N;
    • 从库接收到主库发送的N个字节数据时,将自己的复制偏移量加上N;
  • 环形缓冲区
    固定长度的先进先出队列
    • 从库与主库断开连接,避免重新连接后开始全量同步,在主库设置了一个环形缓冲区;该缓冲区会在从库失联期间累计主库的写操作;当从库重连,会发送自身的复制偏移量到主库,主库会比较主从的复制偏移量:
      • 若从库offset还在复制积压缓冲区中,则进行增量同步;
      • 否则,主库将对从库执行全量同步;
    • 配置(主库)
#redis.conf
repl-backlog-szie 1mb
# 断开连接时间超过3600 则释放缓冲
repl-backlog-ttl 3600
  • 判断流程图
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号