https://blog.csdn.net/qq_34827674/article/details/126829220
作者:小林coding
图解计算机基础(操作系统、计算机网络、计算机组成、数据库等)网站:https://xiaolincoding.com
大家好,我是小林。
上周有位读者字节一二面时,被问到:Redis 的大 Key 对持久化有什么影响?
Redis 的持久化方式有两种:AOF 日志和 RDB 快照。
所以接下来,针对这两种持久化方式具体分析分析。
先说说 AOF 日志三种写回磁盘的策略
Redis 提供了 3 种 AOF 日志写回硬盘的策略,分别是:
这三种策略只是在控制 fsync() 函数的调用时机。
当应用程序向文件写入数据时,内核通常先将数据复制到内核缓冲区中,然后排入队列,然后由内核决定何时写入硬盘。
如果想要应用程序向文件写入数据后,能立马将数据同步到硬盘,就可以调用 fsync() 函数,这样内核就会将内核缓冲区的数据直接写入到硬盘,等到硬盘写操作完成后,该函数才会返回。