zoukankan      html  css  js  c++  java
  • Redis学习(8)-redis持久化

    内存(兔子):高效,断电数据丢失

    硬盘(乌龟):读写速度慢于内存的,断电数据依旧存在

    持久化:把数据保存在硬盘上

    关系型数据库:MySQL-持久化:

    • 任何操作都是硬盘上,断电以后,硬盘上数据还在。

    非关系型数据库:redis

    • 增删改查,数据都是在内存上进行操作。
    • 断电后内存中的数据不存在。
    • 断电后:redis的部分数据会丢失,丢失的数据是保存在内存中的,部分保存在硬盘上
    • redis存在持久化操作

    Redis两种持久化策略:RDB,AOF

    默认持久化机制:RDB

    RDB:使用快照方式保存数据

    RDB相当于快照,保存的仅是一种状态。

    20G数据--> 几Kb快照

    优点:

    1,快照保存数据速度极快,还原数据速度极快。

    2,适用于灾难备份(rdb文件小,备份rdb文件速度很快)。

    缺点:

    RDB机制符合要求就会照快照(随时随地启动),会占用一定系统资源(突然的),很可能内存不足,直接宕机(宕机后,服务器关闭,非正常关闭,内存中的数据也因此没了)。

    适用于:内存比较充裕的计算机。

    RDB何时进行照快照:

    1,服务器关闭时,照快照。  ./bin/redis-cli shutdown

     2,key满足一定条件,会照快照。

     

    AOF:使用日志功能保存数据操作

    redis同步了三种同步策略:每秒同步,每修改同步,和不同步

    AOF配置:

    no      不同步:高效,但是不进行持久化(默认)

    everysec   每秒同步:每秒进行一次AOF保存数据

    always    每修改同步:只要有key变化语句,就进行AOF保存数据。

    适用于:内存空间较小的计算机

    AOF操作:只会保存导致key变化的语句

    启用AOF

    修改redis.conf,配置文件,如下俩个截图:

    策略选择:

    优点:

    1,持续性占用极少量的内存资源。

    缺点:

    1,日志文件会比较大。

    2,不适用于灾难容灾(日志文件大,拷贝慢)

  • 相关阅读:
    maven打包时加入依赖包及加入本地依赖包
    is_file和file_exists效率比较
    window.open()详解及浏览器兼容性问题示例探讨
    Zend Studio汉化失败,如何给Zend Studio进行汉化
    HTML页面跳转的5种方法
    PHP中的符号 ->、=> 和 :: 分别表示什么意思?
    php中$this->是什么意思
    关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解
    【精华】PHP网站验证码不显示的终结解决方案
    php提示undefined index的几种解决方法
  • 原文地址:https://www.cnblogs.com/alsf/p/9114103.html
Copyright © 2011-2022 走看看