copyOnWriteArrayList Java CopyOnWrite_黄晓宇的博客-CSDN博客
Redis持久化 《Redis入门指南》 BGSAVE命令fork子进程来进行持久化, 使用的是copyOnWrite技术。
1 fork开始时,内存就是readonly的了,子进程复制读的是fork时刻的快照数据。
2 主进程如果有写入会复制一份该修改到的内存页、新内存页是可读写的、原内存页仍然readonly给子进程用、然后将指针指向新的这个内存页。
这样主进程只修改的这一部分后面读写会到新内存页、其他还是会到原内存页的,而子进程持久化一直是用的原内存页,两者同时进行互相不阻塞。
且内存使用上也不会是把主进程的内存复制了一模一样大小的两份,写操作少的话,复制的内存页只占很少一部分。
Redis-关于RDB的几点顿悟-COW(Copy On Write)_lh87270202的博客-CSDN博客_redis的copyonwrite
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。