redis 不开持久化 内存够用么
答案:1 悬赏:30 手机版
解决时间 2021-02-12 18:01
- 提问者网友:饥饿走向夜
- 2021-02-11 22:29
redis 不开持久化 内存够用么
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-02-12 00:08
Redis有RDB和AOF两种持久化方式,RDB容易都数据,AOF由于保存的历史,会使得文件非常非常大,就得启用rewrite的功能。
所以都会有fork出一个子进程,有子进程将数据写入磁盘。
之前有人说子进程会完全copy父进程的内存,所以必须让redis留出一半的内存空着才会安全。
其实是不准确的,在进行RDB或者rewrite AOF的时候,redis也会利用Linux' Copy-on-write的思想。简单来说就是子进程并不会真正copu父进程的内存数据,只是在新对象的内存映射表中保存旧数据的指针,只有旧数据有更改,才会把这部分数据copy到新的内存空间吧?最终就是在写snapshot期间被修改的页面的大小。
所以都会有fork出一个子进程,有子进程将数据写入磁盘。
之前有人说子进程会完全copy父进程的内存,所以必须让redis留出一半的内存空着才会安全。
其实是不准确的,在进行RDB或者rewrite AOF的时候,redis也会利用Linux' Copy-on-write的思想。简单来说就是子进程并不会真正copu父进程的内存数据,只是在新对象的内存映射表中保存旧数据的指针,只有旧数据有更改,才会把这部分数据copy到新的内存空间吧?最终就是在写snapshot期间被修改的页面的大小。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯