微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

临时CopyOnWrite

 

 

copyOnWriteArrayList  Java CopyOnWrite_黄晓宇的博客-CSDN博客

 

IDEA 调试技巧_黄晓宇的博客-CSDN博客

 

 

Redis持久化  《Redis入门指南》  BGSAVE命令fork子进程来进行持久化,  使用的是copyOnWrite技术。  

1 fork开始时,内存就是readonly的了,子进程复制读的是fork时刻的快照数据。  

2 主进程如果有写入会复制一份该修改到的内存页、新内存页是可读写的、原内存页仍然readonly给子进程用、然后将指针指向新的这个内存页。

   这样主进程只修改的这一部分后面读写会到新内存页、其他还是会到原内存页的,而子进程持久化一直是用的原内存页,两者同时进行互相不阻塞。

   且内存使用上也不会是把主进程的内存复制了一模一样大小的两份,写操作少的话,复制的内存页只占很少一部分。

Redis-关于RDB的几点顿悟-COW(Copy On Write)_lh87270202的博客-CSDN博客_redis的copyonwrite

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐