zoukankan      html  css  js  c++  java
  • 三,温习redis持久化解析与配置

                        Redis持久化

      redis是一种高级键值对数据库,支持的数据类型很丰富,有字符串,链表,集合和有序集合,可以称之为数据结构数据库

      Redis所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(半持久化)

      如果没有配置持久化,redis重启后数据就会全消失,redis提供两种方式:一种是RDB持久化(原理是将 redis在内存中的数据库记录定时DUMp到磁盘上)另一种是AOF(原理是将redis操作日志追加的方式写入文件)

                        RDB  &  AOF

    RDB持久化是☞指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作是FORK一个子进程,先将数据写入临时文件,写入成功后,再替换以前的文件,用二进制压缩存储(如图:)

     AOF以日志形式记录每一个操作,查询操作不会记录,以文本的方式记录,可以打卡文件看到记录(如图:)

    简单理解:

      一个就是定时写入DUMP

      一个是实时写入/bin/log  

                                                                        两者优缺点

    RDB

       通过备份策略一旦出现故障,容易恢复

              性能最大化

              启动效率高

              定时备份在做还原时可能会造成一部分数据丢失

              如果数据集大,由于是通过子进程来完成备份,可能会停止服务器几秒钟来缓解压力

    AOF:

       有更高的数据安全型

       如果日志过大,可以创建新文件来保障数据安全性

       恢复速度不如RDB

       AOF在运行效率上往往慢于RDB

                 简单来说,就是看需要是高性能还是高持久性来选择

    (1)RDB配置

    打开6379.conf文件,搜索save,可以看到三条信息(默认配置是打开的)

      save 900 1              #15分钟内key1个变化,则dump内存快照

      save 300 10             #5分钟内key10个变化,则dump内存快照

      save 60 10000           #1分钟内key10000个变化,则dump内存快照

    #可根据需要配置这三条信息

     

    (2)AOF配置

    打开6379.conf文件,搜索appendfsync ,可以看到三条信息

    修改最上面一行打开,第二行注释掉

       appendfsync always     

      #appendfsync everysec    

      # appendfsync no       

    指定备份后的日志文件

          # The name of the append only file (default: "appendonly.aof")   

          appendfilename "appendonly.aof"

        

  • 相关阅读:
    Android自动化测试解决方案
    Oracle数据库的DML命令的处理过程详解
    Oracle数据库的BULK COLLECT用法之批量增删改
    建设DevOps能力,实现业务敏捷
    强大的C# Expression在一个函数求导问题中的简单运用
    Visual Studio 11开发者预览版发布(附下载)
    js table隔行变色
    编译原理语法推导树
    巧用数据库归档技术解决性能下降问题
    编译原理正规式和有限自动机
  • 原文地址:https://www.cnblogs.com/123456likun/p/13841540.html
Copyright © 2011-2022 走看看