博客
关于我
Redis主从复制原理总结
阅读量:437 次
发布时间:2019-03-06

本文共 1099 字,大约阅读时间需要 3 分钟。

Redis 主从复制概述及注意事项

Redis 主从复制是一种高效的数据同步机制,旨在通过分担读写压力,提升系统的性能和可用性。本文将详细介绍 Redis 主从复制的工作原理及其相关注意事项。


全量同步与增量同步

Redis 主从复制分为两种模式:全量同步和增量同步。

全量同步

全量同步发生在从服务器首次连接到主服务器或因网络故障导致数据丢失时。具体过程如下:

  • 从服务器发送 SYNC 命令,主服务器启动 BGSAVE 生成 RDB 文件并记录后续写操作。
  • 主服务器完成 BGSAVE 后,将 RDB 文件发送给所有从服务器。
  • 从服务器加载 RDB 文件并清空旧数据。
  • 主服务器将 BGSAVE 期间的写操作缓冲发送给从服务器。
  • 从服务器完成加载后,主从服务器建立数据一致性。
  • 增量同步

    全量同步完成后,主从服务器进入增量同步模式。具体过程如下:

    • 主服务器执行写操作时,将命令直接发送给所有从服务器。
    • 从服务器接收命令并执行,确保数据与主服务器一致。

    Redis 主从同步策略

    同步顺序

    • 新连接的从服务器首先进行全量同步。
    • 全量同步完成后,进入增量同步模式。-Slave 可以在任何时候触发全量同步。

    注意事项

    • 多个从服务器断线时,需确保只有一台从服务器重启以避免主服务器 IO 瓶塞。
    • 在磁盘空间有限的情况下,可采用无盘复制(通过网络直接传输 RDB 文件)。

    Redis 主从复制注意事项

  • 主服务器持久化

    • 建议开启持久化以避免数据丢失。
    • 若不持久化,需禁止主服务器自动重启。
  • 密码配置

    • 若主服务器设置密码,需在从服务器配置中添加相应密码,否则复制失败。
  • 过期键处理

    • 主服务器负责发送删除命令,Slave 本地处理过期键。
  • 主从结构设计-Slave 不支持写操作,建议通过配置允许Slave 写操作,但需谨慎处理潜在影响。


  • 无磁盘复制

    Redis 从 2.8.18 版本起支持无磁盘复制。具体配置如下:

    • 使用 repl-diskless-sync 参数启动无磁盘复制。
    • 通过配置延迟时间 repl-diskless-delay,优化从服务器连接效果。

    配置建议

    从服务器配置

    slaveof 
    <主服务器ip>
    <主服务器端口>

    替换为实际主服务器 IP 和端口,例如:

    slaveof 192.168.1.1 6379

    无磁盘复制

    redis.conf 中启用无磁盘复制:

    replication-diskless-sync enabledreplication-diskless-sync-delay 5

    通过以上配置和注意事项,Redis 主从复制能够高效、可靠地管理数据同步,提升系统性能和可用性。

    转载地址:http://cqxyz.baihongyu.com/

    你可能感兴趣的文章
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理二
    查看>>
    Netty源码解读
    查看>>
    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
    查看>>
    Netty相关
    查看>>
    Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
    查看>>
    Network Sniffer and Connection Analyzer
    查看>>
    NetworkX系列教程(11)-graph和其他数据格式转换
    查看>>
    Networkx读取军械调查-ITN综合传输网络?/读取GML文件
    查看>>
    Net与Flex入门
    查看>>
    net包之IPConn
    查看>>
    NFinal学习笔记 02—NFinalBuild
    查看>>
    NFS共享文件系统搭建
    查看>>
    nfs复习
    查看>>
    NFS网络文件系统
    查看>>
    nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
    查看>>