redis 持久化技术 之 aof
2017-04-20 21:07
295 查看
redis 的两种持久化数据方式
一种是 rdb -------------------- Redis DataBase RDB
一种是 aof -------------------- Append Only File AOF
rdb的方式是备份数据库
aof的作法是,把每一条有关 redis 修改的命令给记录下来,数据恢复时把记录下来的命令跑一遍,就可以恢复(注意,这里是记录 redis 的修改命令 如 set del 等,查询命令不会记录)
rdb的优点是体积小,方便,cpu占用小点 ,缺点是可能为丢失最后一次备份之后的数据 如果对数据完整性要求不是很高,可以采用 rdb模式
aof的优点是数据备份很精准,每一个改变的命令都会被记录,恢复时不会丢失数据
相关aof 模式在 redis.conf 中的配置如下:
appendonly no // 这个选项是 选择是否开启 aof 持久化模式 (注:rdb模式和aof 模式是可以共存的 当共存时 redis 自动恢复数据 以 aof 文件为准)
appendfilename "appendonly.aof" // 这个选项是为aof 设置记录的文件名 可以自定义,一般不用更改
appendfsync everysec // 这个选项有 三个可选值 分别 是 always //表示redis 每执行一次改变数据的操
作,就记录一次, 这样作有点浪费 CPU资源
everysec // 这是一个默认的选项 ,表示每
一秒钟 触发一次 redis 的aof备份
no //这里是不触发的意思 (?那么就
只有手动的 用命令触发了吧)
no-appendfsync-on-rewrite no //这里是说是否开启 aof 备份的重写模式 因为 aof 是一个增量的备份,文件会越来
越大, 这个选项改为yes 后, redis会智能地判断 appendonly.aof 大到一定的
程度时,对其进得压缩,重新生成
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb //这两项就是 触发 redis 压缩 .aof文件的条件, redis每压缩一次,都会
对压缩后的 .aof 文件大小进行记录, 第一项的意思就是说,当 //现在文件的大小是记录文件大小的一倍时 ,也就是 100%时 ,触发一次 压缩
功能
//第二个选项的意思是, 当 .aof 文件达到 64M大小的时候,触发一次
压缩功能 这个值在上线的时候可以设置 成5000M
ps:
当redis 发生断电,或宕机故障时, appendonly.aof 的文件末尾可能为出现记录错误的数据 , 导致重启 redis 时, redis首先找到 appendonly.aof进行恢复, 而此时 这个文件的尾部可能是错的, 导致 redis 启到不起来, 恢复失败 , 这时就要使用 这个命令了 redis-check-aof ,这个命令可以清除 appendonly.aof 中出错的位置
相关文章推荐
- (八)Redis之持久化之AOF方式
- Redis持久化存储(AOF与RDB两种模式)
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
- redis的 rdb 和 aof 持久化的区别
- Redis的AOF持久化的实现
- redis持久化RDB和AOF
- Redis(四):持久化之---AOF持久化的配置和原理
- Redis持久化RDB与AOF(笔记)
- Redis--持久化RDB和AOF原理
- 【reids】redis持久化 RDB和AOF
- Redis(一)持久化:快照和AOF
- Redis 持久化之AOF(三)
- Redis的AOF持久化测试
- redis持久化RDB和AOF
- redis学习-持久化存储rdb和aof的比较
- redis持久化的快照(snapshot)方法和AOF方法
- redis-[4]-redis持久化RDB和AOF
- 第十章 Redis持久化--RDB+AOF
- Redis之aof日志持久化
- Redis高可用详解:持久化技术及方案选择 - Redis