首页 > 其他 > 详细

《Redis设计与实现》读书笔记

时间:2019-02-24 23:39:20      阅读:259      评论:0      收藏:0      [点我收藏+]

第11章:AOF持久化

AOF(Append Of File)持久化:通过保存Redis服务器所执行的写命令来记录数据库状态。
技术分享图片

AOF持久化功能的实现分为:命令追加(append)、文件写入、文件同步(sync)三步。
命令追加:写命令会被追加到aof_buf缓冲区的末尾。
AOF文件的写入与同步:
appendfsync选项的设置对安全性和性能有很大影响非常重要。
技术分享图片
appendfsync的值为always时,写入并同步,效率最慢,最安全。
appendfsync设置为everysec时,写入并同步,效率够快,就算故障停机,也只丢失一秒的命令数据。
appendfsync为no时,只将aof_buf缓冲区内容写入到AOF文件,不执行同步。
AOF文件的载入与数据还原
Redis服务器只要读入并重新执行一遍AOF文件保存的写命令,就可以还原关闭之前的数据库状态。
AOF重写(rewrite)
AOF文件的内容越来越多,文件体积越来越大,Redis提供AOF文件重写功能。
AOF重写的原理:首先从数据库中读取键现在的值,然后用一条命令去记录键值对,代替之前记录这个键值对的多条命令。
AOF后台重写(BGREWRITEAOF命令)
为了避免线程长时间阻塞,Redis将AOF重写放到子进程里执行。
为了使得服务器当前数据库状态和重写后的AOF文件所保存的数据库状态一致,会在AOF重写期间,将写命令追加到AOF缓冲区和AOF重写缓冲区。
技术分享图片

《Redis设计与实现》读书笔记

原文:https://www.cnblogs.com/expiator/p/10428655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!