为什么redis在进行持久化存储的过程中使用Fork()

因为
1.隔离性:
fork会完全复制一样的子进程,包括内存数据,意味着子进程可以访问父进程中所有的数据,从而不会影响父进程的运行过程
2.安全性:
即便是子进程把数据写到硬盘的过程中出现了问题,也不会影响到父进程的运行,不会影响请求访问redis
3.效率:
fork()在操作系统,所以本身就是高效的,加之现代操作系统的copy-on-write(cow机制),fork子进程之后不会立即复制其数据,只有父进程数据变动的时候才会进行复制,才会写入硬盘,这样就提高了效率,避免了资源浪费

当然了这个也要看情况,如果是在高并发情况下,可能会使得fork()性能下降,应该谨慎配置持久化的触发条件

相关推荐

  1. Redis 使用 RDB 持久方式过程

    2024-04-21 06:32:04       31 阅读
  2. Redis使用手册之持久存储

    2024-04-21 06:32:04       12 阅读
  3. Redis持久!!!

    2024-04-21 06:32:04       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 06:32:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 06:32:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 06:32:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 06:32:04       20 阅读

热门阅读

  1. html5与css3前端学习笔记

    2024-04-21 06:32:04       13 阅读
  2. 分类与预测算法评价的介绍

    2024-04-21 06:32:04       15 阅读
  3. MySQL数据加密,模糊查询

    2024-04-21 06:32:04       12 阅读
  4. 优雅的最大公约数函数

    2024-04-21 06:32:04       13 阅读
  5. C++11统一列表初始化,initializer_list

    2024-04-21 06:32:04       12 阅读
  6. 代码随想录-哈希表 | 242 有效的字母异位词

    2024-04-21 06:32:04       12 阅读
  7. Rust常用特型之TryFrom和TryInto特型

    2024-04-21 06:32:04       13 阅读
  8. Rust常用特型之ToOwned特型

    2024-04-21 06:32:04       13 阅读
  9. Rust面试宝典第6题:快乐数

    2024-04-21 06:32:04       10 阅读