Redis之AOF概述
2021/12/16 2:42:27
本文主要是介绍Redis之AOF概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
Redis数据会丢失么?
redis提供三种策略来保证CAPAlways
: 每次写操作都写入文件。可靠性高数据不丢失。每次落盘带来的性能影响大。EvertSec
: 每秒写入一次。 宕机可能丢失一秒数据NO
: 将操作写入到操作系统文件缓存区。 无法得知什么时候落盘,数据丢失可能很大,但是效率提高了。
-
什么是AOF?
- Redis持久化日志系统。
- Redis采用写后日志先执行命令再写入日志。
- 记录的是命令如
set key value
-
AOF怎么处理键过期的?
AOF过期记录的是绝对时间 -
AOF为什么设计成写后日志?
- 读取插入时无需语法检查
- 不阻塞当前命令
-
AOF文件太大怎么办,有什么办法?
- 当AOF文件满足指定条件后发送重写,重写会将当前内存中数据以
k-v
形式写入新的AOF文件并取出原文件。以上操作就将原AOF文件中记录的多个操作更新一个KEY的内容改为了一个。 - fork一个子进程,拷贝主进程内存数据地址到子进程,创建一个新的AOF文件,执行重写操作。
- 重写期间收到新的更新请求,先在旧AOF文件中记录,再记录在主进程的AOF重写缓冲区中,这样就避免了重写期间宕机的数据丢失
- 当AOF文件满足指定条件后发送重写,重写会将当前内存中数据以
-
重写触发时机是什么时候?
auto-aof-rewrite-min-size=64mb
: AOF文件到达设置大小后auto-aof-rewrite-percentage=100
:比上次重写后的体量增加了100%时触发重写
-
重写时有新的更新操作怎么办?
采用了操作系统的写实复制技术- 已存在的key: 从共享内存中拷贝数据,新申请一个内存地址存放
- 申请一个内存地址存放
-
fork子进程时拷贝父亲进程内存信息,那么会不会超出内存上线?
- 子进程并不拷贝内存内存数据,而是拷贝的内存页表(虚拟内存和物理内存的映射索引表)。
这篇关于Redis之AOF概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识