gpt4 book ai didi

linux - 如果我将数据 block 存储在 Linux PAGE_SIZE 的 1/n 或磁盘 block 大小中,mmap() 能否保证崩溃时的数据完整性?

转载 作者:太空狗 更新时间:2023-10-29 11:16:28 25 4
gpt4 key购买 nike

我需要设计一个数据持久化和快速重载的系统,用mmap()实现。但是使用 mmap() 进行持久化的系统经常会在系统崩溃时丢失数据完整性,例如单节点 MongoDB。

我有一个非常扁平的数据结构来存储:数据被分成 1024 个大小的 block , block 之间没有依赖关系。在服务器正常运行期间, block 会被随机且频繁地访问和更新。

最佳答案

您可以使用 msync 将映射数据刷新到磁盘。

参见 http://linux.die.net/man/2/msync .

关于linux - 如果我将数据 block 存储在 Linux PAGE_SIZE 的 1/n 或磁盘 block 大小中,mmap() 能否保证崩溃时的数据完整性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4664982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com