• 02-Redis持久化、主从复制


    1. Redis持久化

    redis 是一个支持持久化的内存数据库,也就是说 redis 需要经常将内存中的数据同步到磁盘来保证持久化,持久化可以避免因进程退出而造成数据丢失;

      注意:如果两种持久化方案同时存在,AOF的优先级>RDB优先级

    1.1 RDB持久化方式

    RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,RDB不适合实时持久化,适合全量复制,灾难性恢复。

    (1)RDB:文件后缀名xxx.rdb 默认方式

    (2)特点:全量复制,灾难性恢复

    (3)RDB持久化配置

    # 时间策略  snapshot
    save 900 1:表示900s内如果有1条是写入命令,就触发产生一次快照,可以理解为就进行一次备份
    save 300 10:表示300s内有10条写入,就产生快照
    save 60 10000


    # 文件名称
    dbfilename dump.rdb


    # 文件保存路径
    dir /home/work/app/redis/data/


    # 如果持久化出错,主进程是否停止写入
    stop-writes-on-bgsave-error yes


    # 是否压缩
    rdbcompression yes


    # 导入时是否检查
    rdbchecksum yes


    #禁用RDB配置
    save的最后一行写上:
    save ""
    #save 900 1
    #save 300 10
    #save 60 10000

    1.2 AOF持久化方式

    针对RDB不适合实时持久化,redis提供了AOF持久化方式来解决 开启:redis.conf设置:appendonly yes (默认不开启,为no) 默认文件名:appendfilename "appendonly.aof"

    (1)AOF:文件后缀名xxx.aof

    (2)特点:适合实时持久化

    (3)AOF持久化配置

    appendonly yes           //启用aof持久化方式
    # appendfsync always //实时检查是否有数据写入操作,最慢的,但是保证完全的持久化

    以下不推荐使用
    appendfsync everysec //每秒强制写入磁盘一次,性能和持久化方面做了折中,推荐
    # appendfsync no         //完全依赖os,性能最好,持久化没保证(操作系统自身的同步)
    no-appendfsync-on-rewrite  yes  //正在导出rdb快照的过程中,要不要停止同步aof
    auto-aof-rewrite-percentage 100  //aof文件大小比起上次重写时的大小,增长率100%时,重写
    auto-aof-rewrite-min-size 64mb   //aof文件,至少超过64M时,重写

    注意:当AOF和RDB文件同时存在时,优先加载RDB

    (4)Redis主从复制

    新增redis6380.conf, 加入 slaveof 192.168.42.111 6379, 在6379启动完后再启6380,完成配置,断开主机,进行测试。

    Redis主从拓扑

    ① 一主一从

    用于主节点故障转移从节点,当主节点的“写”命令并发高且需要持久化,可以只在从节点开启AOF(主节点不需要)

    ② 一主多从

    针对“读”较多的场景,“读”由多个从节点来分担,但节点越多,主节点同步到多节点的次数也越多,影响带宽,也加重主节点的稳定

    ③ 树状主从

  • 相关阅读:
    vivado使用方法(初级)
    进程控制(二)——minishell延续
    [swift刷题模板] 树状数组(BIT/FenwickTree)
    实验三:机器学习1.0
    java调用天地图api获取地理信息
    针对Java API格式
    技术基建如何降本增效——云迁移
    Windows操作系统的环境变量
    元数据管理-解决方案调研二:元数据管理解决方案——Saas/内部解决方案(1)
    TodoList案例
  • 原文地址:https://blog.csdn.net/qq_45037155/article/details/124900971