Redis提供了两种不同的方法来将数据存储到硬盘里面,一种叫内存快照,另一种叫只追加文件(AOF),这两种方法既可以同时使用课可以单独使用,也可以都不使用,取决于场景。

快照

快照是将某一时刻的所有数据都写入硬盘里面,用作服务器重启是还原数据用。在创建完快照文件之后,可以将快照文件复制到其他服务器上进行备份,或者复制到其他服务器上并启动redis实例建立一个具有相同数据的redis服务器副本。

在redis中启用快照的配置如下:

----------------快照设置start-------------------------------
save 60 1000   --在60s内有1000条写入就执行快照,该配置可以设置多次,满足其中一条即开始快照,一条以上就启用快照功能
stop-writes-on-bgsave-error no   --如果快照写入失败(由于某些原因),Redis是否停止接收写操作(是或否)
rdbcompression yes  // 是否使用LZF压缩STRING当写入rdb的时候
rdbchecksum yes // 是否对rdb进行CRC64校验
dir ./  -- 快照写到什么地方
dbfilename dump.rdb   -- 内存快照的文件名
----------------快照设置end--------------------------------

快照的执行方式是bgsave命令,当满足save条件是就执行这个命令,也可以手动执行这个命令  windows平台不支持bgsave命令

bgsave会创建一个子进程来讲数据从内存写入到硬盘里,而父进程继续处理命令请求

当redis通过shutdown或者受到term信号需要关闭时会执行一次save命令,执行完后再关闭进程

AOF文件

AOF文件是将被执行的写命令复制到硬盘里面,追加到aof文件的末尾,所以,redis只要从头到尾执行一遍aof文件就可以恢复aof文件所记录的数据集

启用aof的配置如下

-----------------------AOF start---------------------------------
appendonly no   --是否开启aof
appendfsync everysec   -- aof文件的同步频率,取值为 always(每次写操作同步),everysec(每秒钟),no(由操作系统决定什么时候写入)
no-appendfsync-on-rewrite no -- 是否在aof文件重写期间调用fsync
appendfilename "appendonly.aof" // aof文件名
auto-aof-rewrite-percentage 100 -- 指定重写aof文件的条件,超过上次rewrite文件大小的百分比
auto-aof-rewrite-min-size 64mb --指定重写aof文件的条件,达到这个大小时才可以重写  auto-aof-rewrite-percentage  和 auto-aof-rewrite-min-size条件必须同时满足
aof-load-truncated yes // redis在启动时可以加载被截断的AOF文件,而不需要先执行 redis-check-aof
dir./   -- 文件所在的目录
-----------------------AOF end----------------------------------
重写aof文件:随着时间的迁移,aof文件会越来越大,但它其实不需要这么大,所以就要对aof文件进行一次重写,就是将内存里面的数据重新生成一份命令列表,写入aof文件中
重写aof文件的命令是bgrewriteaof ,他也是创建一个子进程进行 aof文件的重写操作。 bgrewriteaof 命令也可以自动执行通过哦诶之auto-apf-rewrite的配置
 

Redis -- 03 持久化的更多相关文章

  1. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  2. Redis(7)——持久化【一文了解】

    一.持久化简介 Redis 的数据 全部存储 在 内存 中,如果 突然宕机,数据就会全部丢失,因此必须有一套机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的 持久化机制, ...

  3. Redis总结(四)Redis 的持久化

    前面已经总结了Redis 的安装和使用今天讲下Redis 的持久化. redis跟memcached类似,都是内存数据库,不过redis支持数据持久化,也就是说redis可以将内存中的数据同步到磁盘来 ...

  4. Redis的持久化的两种方式drbd以及aof日志方式

    redis的持久化配置: 主要包括两种方式:1.快照  2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...

  5. redis启用持久化

    redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化. aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis ...

  6. Redis笔记(八)Redis的持久化

    Redis相比Memcached的很大一个优势是支持数据的持久化, 通常持久化的场景一个是做数据库使用,另一个是Redis在做缓存服务器时,防止缓存失效. Redis的持久化主要有快照Snapshot ...

  7. 深入剖析 redis AOF 持久化策略

    本篇主要讲的是 AOF 持久化,了解 AOF 的数据组织方式和运作机制.redis 主要在 aof.c 中实现 AOF 的操作. 数据结构 rio redis AOF 持久化同样借助了 struct ...

  8. 深入剖析 redis RDB 持久化策略

    简介 redis 持久化 RDB.AOF redis 提供两种持久化方式:RDB 和 AOF.redis 允许两者结合,也允许两者同时关闭. RDB 可以定时备份内存中的数据集.服务器启动的时候,可以 ...

  9. redis 数据持久化

    1.快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb.你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据 ...

随机推荐

  1. Spark源码学习1.7——Master.scala

    master第一步是加载系统定义的环境变量,如worker的超时时间.系统保留的Application数目等:第二步,加载worker的信 息,地址.id等:第三步,加载Application的信息, ...

  2. JS总结 运算符 条件语句

    算术运算符+-*/ 与数学计算一致,配合()号进行各种计算 另外,+号还可以达到连接的作用.例如: var a = 15; alert("a的值等于"+a); 前后增减量运算符: ...

  3. yii2从零开始一,安装

    1.官网下载软件包 这里选择普通包,也可以是增强包 2.运行basic目录下 requirements.php ,查看环境是否符合要求,yii2要求php5.4以上 3.运行 basic/web下in ...

  4. 服务器列表里找不到OracleOraDb10g_home1TNSListener

    先安装的ORACLE DB,后配置的数据库,TNSNAMES.ORA, LISTENER.ORA配置完毕,客户端连接不上TNS服务器,发现服务列表里没有OracleOraDb10g_home1TNSL ...

  5. KBEngine 学习笔记

    最近开始学习 KBE 扩展技能点>_<!所以建一个随笔记录一下遇到的小问题: 问题1 :DBMgr找不到LibMysql32.dll 解决:VS 中KBE源码 默认的是Win32 ,Win ...

  6. [转]sed命令详解

    转载:http://blog.chinaunix.net/u/22677/showart_1076318.html   1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...

  7. Cannot forward after response has been committed

    项目:蒙文词语检索 日期:2016-05-01 提示:Cannot forward after response has been committed 出处:request.getRequestDis ...

  8. css3-实现3D立方体旋转

    核心内容: 1.CSS3 中 animation.perspective 属性的熟练运用. 2.CSS3 中的变形属性 transform,在 3D 立体效果中的运用. 3.3D 立方体旋转实现原理. ...

  9. SQLiteDeveloper破解

    Sqlite 管理工具 SQLiteDeveloper及破解 功能特点 表结构设计,数据维护,ddl生成,加密数据库支持,sqlite2,3支持 唯一缺憾,收费,有试用期 下载地址: http://w ...

  10. REDIS 字典数据结构

    对于REDIS来讲  其实就是一个字典结构,key ---->value  就是一个典型的字典结构 [当然  对于vaule来讲的话,有不同的内存组织结构 这是后话] 试想一个这样的存储场景: ...