Snapsotting(快照RDB)方式

snapsotting是默认方式,(把数据做一个备份,将数据存储在文件)

这种方式将内存中数据照快照方式写到二进制文件中.默认的文件名为“dump.rdb”。可以通过配置(“redis.conf”)设置自动做快照持久化的方式,可以配置redis在n秒内如果超过m个key键修改就自动做快照

Save 900 1
Save 300 10
Save 60 1000

上面含义是900秒后有一个key键发生修改就执行Save。300秒后有10个key发生修改就执行Save。60秒后有1000个key发生修改就执行Save。

数据快照的缺点是持久化之后如果出现系统宕机就会丢失一段数据。

Append-only file(aof)方式

由于快照方式在一定间隔时间做一次Save,所以如果出现系统宕机情况下,就会丢失最后一次快照后的所有修改。aof方式有更好的持久化性,由于是在使用aof,redis会将每一次收到的写命令都通过whle函数追加到文件中,当redis重启时会通过重新执行文件中保存的写命令在内存中从建整个数据库内容。开启aof日志记录,需要在配置(“redis.conf”)文件中进行如下配置

appendonly yes

Appendonly配置不开启,可能在会断电时导致一段时间的数据丢失,因为Redis本身同步数据配置时是按Save条件同步,所有有的数据会在一段时间内只存在内存中

Appendfsync:no/always/everysec

no:表示等操作系统进行数据缓存同步到磁盘,性能最好,持久化没有保障

always:表示每次更新操作后手动调用fsync()将数据写到磁盘,每次收到写命令就立即强制写入磁盘,性能最差,但是保障完全的持久化

Everysec:表示每秒同步一次,每秒钟强制写入磁盘一次。在性能和持久化方面做了很好的折中

数据恢复

当Redis服务器挂掉以后,重启时按照以下优先级恢复数据到内存

  1. 如果只配置了AOF,重启时加载AOF文件恢复数据
  2. 如果同时配置了RDB和AOF,启动时只加载AOF文件恢复数据
  3. 如果只配置了RDB  ,启动时将加载dump文件恢复数据

Redis持久化方式的更多相关文章

  1. 【Redis篇】Redis持久化方式AOF和RDB

    一.前述 持久化概念:将数据从掉电易失的内存存放到能够永久存储的设备上. Redis持久化方式RDB(Redis DB)   hdfs:    fsimageAOF(AppendOnlyFile)   ...

  2. Redis持久化方式的选择

    本文将介绍Redis持久化的两种方式:快照持久化和AOF持久化,并对两种方法进行分析和对比,方便在实际中做出选择. 持久化 什么是持久化 Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘 ...

  3. redis 持久化方式

    对于persistence持久化存储,Redis提供了两种持久化方法: Redis DataBase(简称RDB) 执行机制:快照,直接将databases中的key-value的二进制形式存储在了r ...

  4. Redis持久化方式RDB和AOF

    Redis 持久化 RDB(快照) 优点 rdb是可进行压缩的二进制文件,表示Redis在某一个时间点的数据快照.非常使用与备份,灾难恢复等场景.比如使用定时任务执行bgsave并备份rdb到serv ...

  5. Redis持久化方式--RDB和AOF

    转载于:https://www.cnblogs.com/xingzc/p/5988080.html Redis提供了RDB持久化和AOF持久化 RDB机制的优势和略施 RDB持久化是指在指定的时间间隔 ...

  6. redis持久化方式与优缺点

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...

  7. redis——持久化方式RDB与AOF分析

    https://blog.csdn.net/u014229282/article/details/81121214 redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 ...

  8. 20190930-02 Redis持久化方式一:RDB及修改RDB的默认持久化策略 000 032

  9. Redis持久化的方式有哪些?优缺点分别是什么?

    Redis持久化方式        持久化的目的主要是做灾难恢复,数据恢复.由于Redis的数据全都放在内存里面,如果Redis挂了,没有配置持久化的话,重启的时候数据会全部丢失.         突 ...

随机推荐

  1. Python字符编码详解(转)

    http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 在没有reload(sys)之前调用sys.setdefaultencoding ...

  2. springboot之banner

    1 在Main里面关闭 @SpringBootApplication@MapperScan("org.sselab.mapper")public class Application ...

  3. Activity 的 4 种加载模式

    Activity 的 4 种加载模式 配置 Activity 时可指定 android:launchMode 属性,该属性用于配置该 Activity 的加载模式.该属性支持如下 4 个属性值. * ...

  4. 实现JavaScript forEach

    function forEach(list, callback){ ; n <list.length; n++){ callback.call(list[n], n); } } ,,,,,,,] ...

  5. PHP入门怎么选?大学生适合学习吗?

    大学毕业,面对竞争激烈的社会,理想总是很丰满,现实却很残酷.在硕士.博士都随处可见的今天,本科和大专文凭就显得苍白无力,在面试官问你"有没有工作经验"的时候,你是不是只想起实习期间 ...

  6. MySQL服务找不到了,navicat打不开数据库连接

    今天打开Navicat看看连接名,突然发现连接不上了,打开服务发现MySQL服务不见了,所以手动安装了遍MySQL服务. 详细步骤如下: 1.管理员身份打开cmd,切换到MySQL安装目录下的bin目 ...

  7. [安全]服务器安全之 PHP权限目录

    1.为每个主机配置增加一个 fastcgi_param  PHP_VALUE  "open_basedir=$document_root:/tmp/";  或是直接把这句话放到fa ...

  8. 浅谈php的优缺点

    一.优点 1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FA ...

  9. Angular4.0引入laydate.js日期插件方法

    Angular是不支持直接引入js文件的,下面介绍项目如果引入laydate.js的方法 一.将下载的laydate中的js和theme文件放到一个统一的文件下面,我把它放到asset下 二.在ang ...

  10. Redis在centos6.4上的最详细图文安装教程

    准备工作:一个redis3.0.0的安装包,没有可以点击下面的链接下载 https://pan.baidu.com/s/1kU5Ez2J 工具 安装环境   centos6.4 好了开始进入正题 输入 ...