开发者社区> 问答> 正文

[@徐雷frank][¥20]copy-on-write写时复制这个技术究竟是怎么样的?

在读《Redis设计与实现》关于哈希表扩容的时候,发现这么一段话:

执行BGSAVE命令或者BGREWRITEAOF命令的过程中,Redis需要创建当前服务器进程的子进程,而大多数操作系统都采用写时复制(copy-on-write)来优化子进程的使用效率,所以在子进程存在期间,服务器会提高负载因子的阈值,从而避免在子进程存在期间进行哈希表扩展操作,避免不必要的内存写入操作,最大限度地节约内存。

展开
收起
月下丶 2018-12-14 23:40:27 1942 0
1 条回答
写回答
取消 提交回答
  • 1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士

    1、写时复制(copy-on-write)用于Linux内核的内核同页合并功能,其他语言也有此模式,包括C、C++和Java都有实现支持
    2、写时复制思想的核心是,都在读取数据时,不需要复制数据,当修改数据时,在复制,在自己的副本中修改数据。
    3、,如果只有一个线程拥有数据,就不需要复制,可以自己直接修改,主要是为了性能考虑

    2019-07-17 23:21:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
成功案例-Par...[幸运杰哥].1512720360.pdf 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载