我刚开始在Rails3上使用MonogDB,在做了一些基准测试后,我发现它的执行速度比Postgresql/pg快5-10倍。
我决定检查数据是如何存储的,所以我删除了/ data /db中的所有文件(该文件夹包含"mydb.0“、"mydb.1”等文件。
然而,我仍然可以从我的Rails应用程序访问数据!即使在重新加载服务器之后也是如此。
那么,是否有任何类型的临时或缓存文件夹,其中包含所有包含数据的.json文件?
发布于 2010-12-23 19:47:09
发布于 2011-01-04 19:32:58
正确的答案是这是一个UNIX特性,而不是mongo。(我假设您使用的是Linux)
Mongo使用内存映射文件作为存储。其中,这意味着最有可能的是,mongo会让所有的文件一直处于打开状态。
在Unix上,这些文件在使用这些文件的最后一个进程关闭时立即删除,而不是在您发出"rm“命令时删除。
在这种情况下,rm命令取消链接文件(从目录中删除条目,因此无法再次访问)。
所以,答案是,一旦你停止mongo,这个文件就会被操作系统删除。
请注意,该文件仍在使用磁盘空间,即使"df“或"du”表示没有。这可能会让人感到困惑,因为您可能会出现"disk full“错误,并在"df”上报告大量可用空间。
您可以删除此文件,但是:
https://stackoverflow.com/questions/4517868
复制相似问题