是否可以将放置在硬盘或固态盘中的数据地址保存在RAM中的容器中?
对于我的应用程序(C++/visual studio 2008),我将在SSD驱动器上创建一个存储库(目录),在该存储库中将有数千个(假设100000个文件,每个文件的大小约为3MB)的二进制文件(文件的名称是唯一的Id)
一些应用程序必须使用名称(Id)在tihs目录上执行搜索操作。
所以我想,如果我在RAM中创建一个类似映射的容器,并将键列ID (文件名)和值设置为文件(在SSD中)的物理地址,然后让应用程序在此映射(在RAM中)中执行搜索,如果找到数据,使用地址检索数据(因为我们有物理地址)不是更快吗?
那么有没有可能做这样的事情呢?
发布于 2014-01-29 16:46:09
有几个简单的选择:使用数据库,或者内存映射一堆文件。在后一种情况下,您必须意识到明显的内存操作实际上是磁盘I/O,而且要慢得多。但是内存映射文件的结果仍然是指向其内容的一个相当普通的指针。这甚至比你提出的“物理地址”更容易。
https://stackoverflow.com/questions/21424688
复制相似问题