• redis 持久化


    一、什么是持久化

     二、常见的持久化方式

    三、redis 的持久化方式

    1. rdb快照持久化 (snapshoting)
    2. aof( append only file) 

      (1) redis -之rdb 快照持久化

      工作原理:每隔N分钟N次写操作后,从内存dump数据形成rdb文件,压缩放在备份目录(红色部分可以配置)

      

      redis.conf中的参数

      save 900 1           每900s修改过1个key就导出rdb

      save 300 10    每300s修改过10个key就导出rdb

      save 60   10000   每60s修改过10000个key就导出rdb 

      ps:通过时间和修改频次导出rdb文件,在短时间越频繁修改就越快导出。如果不想开启rdb 就注释这三项

      

      stop-writes-on-bgsave-error yes  导出rdb的进程如果发生错误就停止主进程写操作

      rdbcompression yes 使用LZF压缩rdb文件

      rdbchecksum  yes  存储和加载rdb文件时验证格式和兼容性

      dbfilename dump.rdb  设置rdb文件名

      dir ./ 设置工作目录,rdb文件会写入该目录,aof也会放入其中

      

      

      

       rdb 缺陷 

       在2个保存点之间,断电,将会丢失1-N分钟的数据  (下次导出之前的数据丢失)

      

      rdb总结:

      

         (2) redis -之aof快照持久化 (2.4之后)

         aof = append only file 

         原理:

        redis 主进程command操作,

        aof 进程将变化的操作写进文本文件中去。(记录日志)

    redis.conf

    #开启aof
    appendonly yes
    #正在导出rdb快照,不要同步aof
    no-appendfsync-on-rewrite no
    #同步频率
    #appendfsync always(每一次修改都往磁盘上写)
    appendfsync everysec(每秒往磁盘上写)
    #appendfsync no (由操作系统分配写)
    #

    可以看到刚才我的操作已经被记录到了appendonly文件中了 

    aof 重写:由于同一个key可能有大量的操作,导致aof文件很大,所以在某个时间瞬间,根据key 的状态,逆化成命令再写入aof 文件中去,这样aof 文件的大小将变小。

    #aof文件大小比起上次重写时的大小 增长率为100% 重写 (如1M 到 2M)
    auto-aof-rewrite-percentage 100
    
    #aof文件至少超过64M时重写 避免前期数量较小不停的重写
    auto-aof-rewrite-min-size 64mb
    

      

    最后,aof和rdb可以一同使用,如果rdb 和 aof 同时存在 优先以aof恢复 数据。

      

  • 相关阅读:
    shiro实战系列(三)之架构
    shiro实战系列(二)之入门实战续
    ShopNC B2B2C多用户商城2014商业版,带微商城
    开源 SHOPNC B2B2C结算营运版 wap IM客服 API 手机app 短信通知
    PHP5.3下加速器ZendGuardLoader安装 (LNMP/lnmpa)
    XAMPP + Xdebug+Zend Studio
    magento 12 配置安装教程
    C#控件一览表
    GetXamarin.xambe
    新建电子监控点与测速点
  • 原文地址:https://www.cnblogs.com/zhoupufelix/p/8110543.html
Copyright © 2020-2023  润新知