美文网首页
Redis持久化、主从复制

Redis持久化、主从复制

作者: entro | 来源:发表于2019-02-17 23:16 被阅读0次

    Redis持久化、主从复制

    [TOC]

    • redis持久化 RDB & AOP
    • redis主从同步策略

    一、persistence 持久化:RDB & AOF

    offical redis persistence introduction
    集群的时候可以在主服务器禁用持久化(禁用所有save配置)

    1.1 RDB persistence(Snapshot二进制文件快照)

    默认方式,RDB持久化是在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
    存储默认文件为dump.rdb。

    • 优点:(1)文件备份只有一个文件,容易查找恢复。(2)灾难恢复效率高。
    • 缺点:(1)如果在定时持久化前出现宕机,数据将丢失;(2)RDB是通过fork子进程来协助完成持久化,如果数据集较大会导致服务器短时间内停止服务
    1.1.1 RDB 持久化策略 save <seconds> <changes>

    RDB persistence 的配置,保存策略 秒数 变化条数,可以设置多条策略

    1.2 AOF persistence (append only file)

    AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
    AOF方式类似Mysql的binlog, Mongodb的oplog.
    通过配置 appendonly yes 启用

    • 优点:数据安全性更高,可以配置同步持久化
    • 缺点:效率低
    1.2.1 AOF 持久化策略 appendfsync always|everysec|no

    AOF persistence 的配置

    #启用AOF persistence
    appendonly yes
    # persistence 策略: always 每次收到非查询命令就写入,最慢,保证完全持久化,不推荐。
    # persistence 策略: everysec 每秒写入,折中方案,推荐
    # persistence 策略: no    依赖os刷写策略。性能最好,持久化无保证。
    appendfsync always
    

    二、Redis Master-Salve Redis主从

    master slave 可以层级连接,master首次完全复制,不会阻塞master的其他操作,但会阻塞salve

    2.1 主从策略:主读从写

    Redis Master写入后复制到从服务器,所以一般Master提供读写服务,Salve提供读服务。

    2.2 主从复制模式:全量,增量

    Salve从Maser同步一般第一次做一次全量同步,后续增量同步,当出现故障的时候,Salve可发起全量同步。
    全量同步就是利用RDB持久化,先fork子线程全量到处一份快照文件给slave,然后同步增量变换。

    2.3 Sentinel 哨兵模式

    Redis可以在启动为Sentinel(哨兵)模式。Sentinel一般部署在其他机器上,可以看做是一个只提供订阅服务的Redis服务器。
    Sentinel提供Monitoring 监控、Notification 提醒、Automatic failover 自动故转移。

    • 主观下线:一个Sentinel发现Redis连不上的时候
    • 客观下线:多数Sentinel发现Redis连不上的时候
      当Redis的Master客观下线的时候,Sentinel会从Slave中重新选择一个Maser,并配置其余的Salve.

    相关文章

      网友评论

          本文标题:Redis持久化、主从复制

          本文链接:https://www.haomeiwen.com/subject/yexoeqtx.html