1
我必须编写一个简单的键值存储以供特定的使用。该存储将与使用它的进程在相同的内存空间中运行。在RAM中保留一棵树/哈希表
这家商店的一个要求是它保存在RAM中,并且必须尽可能快。我们还没有确定数据结构,但我们可能会使用LLRB-Tree。
如何确保我的数据结构始终保存在RAM中?未交换,未分页,未在其他位置缓存,但仅在内存中缓存。
我必须编写一个简单的键值存储以供特定的使用。该存储将与使用它的进程在相同的内存空间中运行。在RAM中保留一棵树/哈希表
这家商店的一个要求是它保存在RAM中,并且必须尽可能快。我们还没有确定数据结构,但我们可能会使用LLRB-Tree。
如何确保我的数据结构始终保存在RAM中?未交换,未分页,未在其他位置缓存,但仅在内存中缓存。
如果你使用Linux,然后检查mlock()
m锁()和mlockall用于()分别锁定部分或全部呼叫 进程的虚拟地址空间到RAM中,防止 内存被分页到交换区域。 (man page)
将数据放在[ramdisk](http://en.wikipedia.org/wiki/RAM_disk)中? – Jasonw 2012-04-18 09:16:34
哪个操作系统? – RedX 2012-04-18 09:18:06
如果它符合POSIX标准,则标准方法是mlock()和朋友。 – tbert 2012-04-18 09:21:26