zoukankan      html  css  js  c++  java
  • redis学习4--redis持久化

      持久化有效的避免因进程退出造成的数据丢失问题,当下次重启时利用持久化文件即可实现数据恢复,redis持久化方式有RDB和AOF两种。

    1 RDB

      RDB持久化是把当前进程数据生成快照保存到硬盘过程,可以手动触发也可以自动触发。

      save命令:  基本没人用了,会阻塞当前Redis服务器,直到RDB过程完成为止。

      bgsave:     redis执行fork操作子进程,持久化任务由子进程负责,阻塞只发生在fork阶段,时间很短。

      RDB生成的数据文件保存在 配置文件的dir目录下,文件名也可以修改(默认dump.rdb)

      

    2 AOF

      AOF以独立的日志记录方式记录每次写命令,重启之后再重新执行AOF文件的命令,即可以达到数据恢复的目的,AOF可以解决数据持久化的实时性,是redis主流的持久化方式。 

      开启AOF,并指定AOF文件名(默认是appendonly.aof),文件保存路径和RDB一样 都在dir之下。

      

       AOF文件同步策略,由配置文件中的appendfsync参数控制,值有下列三个选项

        always:   每次写入都要同步AOF文件(不建议配置,会阻碍redis性能)

        everysec:  建议的配置(也是默认的配置),理论上最多丢失一秒内数据

        no:       不建议配置,数据得不到安全性保证

       从写机制

        时间长了,命令会越来越多,aof文件也就会越来越大,重写机制就是为了解决这个问题的,文件变小的原因1:如set a 11,set a 22,只保留最终的命令,即set a 22,  2: 合并命令,如:rpush key a, rpush key b,会被合并为 rpush key a b。

      重写触发时机

      

      redis重启后数据文件的选择如下

       

  • 相关阅读:
    Dynamic导出解决方案修改其XML信息
    子网格
    官方文档
    ADFS登录页面自定义
    ADFS设置Tokn生命周期
    特征工程
    Pandas
    分类决策树
    Python基本知识
    机器学习的基本概念
  • 原文地址:https://www.cnblogs.com/tjqBlog/p/9599061.html
Copyright © 2011-2022 走看看