我刚开始使用MonogDB和Rails 3.在做了一些基准测试后,我发现它的执行速度比Postgresql / pg快5-10倍。
我决定检查数据是如何存储的,所以我从/ data / db中删除了所有文件(该文件夹包含“mydb.0”,“mydb.1”等文件。
但是我仍然可以从我的Rails应用程序访问数据!甚至在重新加载服务器之后。
所有带有数据的.json文件都有任何类型的temp或cache文件夹吗?
答案 0 :(得分:5)
答案 1 :(得分:2)
正确答案是这是一个UNIX功能,而不是mongo。 (我认为你使用的是Linux)
Mongo使用内存映射文件作为商店。除此之外,这意味着很可能mongo始终保持所有文件都处于打开状态。
在Unix上,一旦使用文件的最后一个进程关闭它们就会删除文件,而不是在发出“rm”命令时。
在这种情况下,rm命令取消链接文件(从目录中删除条目,因此无法再次访问)。
所以,答案是,一旦你停止mongo,操作系统就会删除该文件。
请注意,即使“df”或“du”表示不是,该文件仍在使用磁盘空间。这可能会令人困惑,因为您可能会出现“磁盘已满”错误,并在“df”上报告了大量可用空间。
您可以删除此文件,但是: