redis 持久化开启 淘汰策略 硬盘保留吗
发布网友
发布时间:2022-04-24 05:43
我来回答
共1个回答
热心网友
时间:2022-04-08 07:40
Redis有RDB和AOF两种持久化方式,RDB容易都数据,AOF由于保存的历史,会使得文件非常非常大,就得启用rewrite的功能。
所以都会有fork出一个子进程,有子进程将数据写入磁盘。
之前有人说子进程会完全copy父进程的内存,所以必须让redis留出一半的内存空着才会安全。
其实是不准确的,在进行RDB或者rewrite
AOF的时候,redis也会利用Linux'
Copy-on-write的思想。简单来说就是子进程并不会真正copu父进程的内存数据,只是在新对象的内存映射表中保存旧数据的指针,只有旧数据有更改,才会把这部分数据copy到新的内存空间吧?最终就是在写snapshot期间被修改的页面的大小。