临时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

原文地址:https://www.cnblogs.com/lyhero11/p/15760404.html