`
youyu4
  • 浏览: 440085 次
社区版块
存档分类
最新评论

Redis的AOF重写机制

 
阅读更多

Redis的AOF重写机制

 

1. 重写AOF的时候,创建一个重写子进程,然后读取旧的AOF文件,压缩并写入到一个临时AOF。

2. 在此期间,主进程一边将接收到的指令累计到一个缓冲区中,一边将指令写入到旧的AOF。

(这样的好处,保证AOF文件的可用性,避免写过程时出意外)

3. 子进程写完后,向主进程发送一个信号量,主进程就将缓冲区中的指令追加到新AOF。

4. 用新的AOF替换旧的AOF,之后的新指令就追加到新的AOF。

分享到:
评论
1 楼 ccqy66 2018-05-04  
感觉步骤1的描述有问题吧,aof重写时是不会读原aof文件是,会将当前数据库中的快照写入到新的aof文件吧。。。

相关推荐

    Redis-x64-5.0.14

    6. **AOF持久化优化**:此版本继续优化了Append Only File(AOF)持久化模式,提高了重写效率,并减少了不必要的磁盘I/O。 7. **复制改进**:Redis 5.0.14改进了主从复制,包括部分同步功能,使新从节点能够更快地...

    Redis 持久化之RDB和AOF.doc

    Redis 持久化是确保数据安全的重要机制,它提供了两种主要的方法:RDB(Redis Database)和 AOF(Append Only File)。RDB 是一种快照式的持久化方式,而 AOF 则记录每次写操作的日志。 RDB 持久化在特定条件下将...

    redis学习总结.docx

    AOF 文件会越来越大,为避免出现此种情况,新增了重写机制,当 AOF 文件的大小超过所设定的阈值时,Redis 就会启动 AOF 文件的内容压缩,只保留可以恢复数据的最小指令集。 Redis 持久化机制可以确保数据的安全和...

    09.图解分析redis的RDB和AOF两种持久化机制的工作原理.zip

    2. **重写策略**:为了避免AOF文件过大,Redis提供`bgrewriteaof`命令进行文件重写,将多个命令合并为一个,减少文件大小。触发条件可设置为按文件大小或写入命令数量。 3. **优点**:数据丢失可能性小,AOF默认配置...

    redis设置总结.doc

    在实际运行中,如果Redis服务器出现内存不足导致的Out of Memory(OOM)问题,可能是因为Redis子进程在进行AOF重写时大量消耗内存。此时,需要检查`overcommit_memory`设置,确保其正确配置以防止不必要的进程被杀死...

    redis面试题之持久化.zip

    随着时间的推移,AOF 文件会变得越来越大,Redis 提供了 AOF 重写功能,通过创建一个新的 AOF 文件,只包含能重建当前数据库状态的最小命令集合。这可以减小文件体积,提高读取效率。 5. 持久化配置选项 Redis 配置...

    redis-7.0.2官方下载版本

    - **AOF重写优化**:在Append Only File (AOF)持久化模式下,Redis 7.0.2对重写机制进行了优化,降低了重写过程中的性能影响。 - **lua脚本改进**:Lua引擎得到了优化,提高了脚本执行效率,同时增强了错误处理和...

    AOF持久化策略配置文件

    当 AOF 文件增长到其上次重写后的大小的 `auto-aof-rewrite-percentage` 百分比,并且当前 AOF 大小大于或等于 `auto-aof-rewrite-min-size` 设置的值时,Redis 自动启动重写过程。 5. `aof-load-truncated`: 如果 ...

    redis-4.0.11 已编译版本

    - **AOF重写优化**:改进了Append Only File (AOF)的重写机制,降低了磁盘空间的占用,并减少了重写过程中的停机时间。 - **更好的复制**:优化了主从复制的性能,使得数据同步更加高效,并支持部分复制,减少了新从...

    redis收藏redis收藏

    为了解决这个问题,Redis 实现了 AOF 重写机制,通过创建一个新的 AOF 文件,去除冗余命令,保持与旧文件相同的状态但体积更小。重写可以通过手动 `bgrewriteaof` 命令或自动触发(根据 `auto-aof-rewrite-...

    redis6.0.7_x64编译版.rar

    5. **新的 AOF 重写策略**:改进了 AOF(Append Only File)持久化方式的重写机制,减少了磁盘占用。 压缩包中的文件包括: 1. **redis.conf**:这是 Redis 的配置文件,包含了 Redis 服务器的启动参数和配置选项,...

    Redis的持久化方案

    此外,如果在日志文件中保存的数据量很大,AOF重写的性能可能会受到影响。 对于Redis持久化,用户可以选择使用单一的RDB或AOF,也可以两者结合使用。如果两种持久化机制都被开启,则在Redis重启时,会优先使用AOF...

    redis4.0.10

    在这个版本中,AOF 重写策略得到优化,能够更智能地判断何时触发 AOF 重写,以减小日志文件大小,同时保持数据一致性。RDB 快照则优化了保存过程,减少了阻塞时间,使得服务在保存过程中仍然可以提供服务。 另外,...

    REDIS persistence -- Redis中国用户组(CRUG)1

    Redis 是一个高性能的 NoSQL 数据库,为了确保数据的安全性和可靠性,Redis 提供了多种持久化机制,分别是 RDB 持久化方式和 AOF 持久化方式。本文将对 Redis 持久化机制进行详细的介绍和比较。 RDB 持久化方式 ...

    redis-3.0.2.zip

    在 Redis 3.0.2 中,AOF 重写机制得到了优化,当 AOF 文件过大时,Redis 可以创建一个新的 AOF 文件,包含当前数据集的状态,从而减少文件大小,提高读取效率。 4. RDB 持久化:Redis 也支持另一种持久化方式,即 ...

    解密Redis持久化

    Redis允许用户选择不同的AOF重写策略来优化文件大小。 为了保证数据一致性,Redis还支持一种混合模式,同时使用RDB和AOF。在某些情况下,如系统崩溃,AOF日志用于恢复数据;而在正常重启时,RDB文件可能更快地加载...

    Redis配置文件中文解释

    11. **auto-aof-rewrite-percentage**: 当AOF文件增长到一定比例(与上一次重写后的大小比较)时触发AOF重写,以压缩文件大小。 12. **auto-aof-rewrite-min-size**: 触发AOF重写的最小文件大小,即使未达到重写...

    redis集群批处理一键搭建

    Redis为了优化AOF文件的大小,会定期对AOF日志进行重写,生成一个新的AOF文件,包含所有能恢复当前数据状态的最小命令集合。重写过程中,会创建临时文件(如`temp-rewriteaof-bg-*`),待重写完成后,会原子地替换...

    redis6.0.8安装文件.zip

    # 设置AOF重写策略 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb ``` 安全性方面,可以设置密码认证: ```bash # 开启保护模式 protected-mode no # 设置密码 requirepass mypassword ``` ...

Global site tag (gtag.js) - Google Analytics