Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 内存中的数据库是否也有文件系统组件?_Database_Sqlite_In Memory - Fatal编程技术网

Database 内存中的数据库是否也有文件系统组件?

Database 内存中的数据库是否也有文件系统组件?,database,sqlite,in-memory,Database,Sqlite,In Memory,我正在使用Datamapper,它允许您指定系统上数据库文件的路径,或者只指定字符串“memory”,然后使用“in memory”数据库。然而,我不知道这意味着什么 “内存中”数据库是纯粹基于内存的还是在某个时候被序列化到文件系统 内存数据库的好处是什么 这仅仅是为了提高效率——通过消除文件系统访问的成本吗?SQLite拥有内存中数据库的原因并不是为了提高性能。实际上,拥有一个文件并不比跳过它慢多少,除非内存不足。它实际上主要用于临时缓存或测试。例如,您可以使用内存中的db进行单元测试,这样您

我正在使用Datamapper,它允许您指定系统上数据库文件的路径,或者只指定字符串“memory”,然后使用“in memory”数据库。然而,我不知道这意味着什么

“内存中”数据库是纯粹基于内存的还是在某个时候被序列化到文件系统

内存数据库的好处是什么


这仅仅是为了提高效率——通过消除文件系统访问的成本吗?

SQLite拥有内存中数据库的原因并不是为了提高性能。实际上,拥有一个文件并不比跳过它慢多少,除非内存不足。它实际上主要用于临时缓存或测试。例如,您可以使用内存中的db进行单元测试,这样您就不会在生产数据上走动。如果需要SQL功能,也可以将其用作memcache的替代品。基本上,它就在那里,所以如果不需要,您不必保存数据。

来自:

如果文件名为“:memory:”,则 私有、临时内存数据库 为连接创建的。这 内存中的数据库将在 数据库连接已关闭


是的,谢谢,我偶然在我的根目录中找到了它。由于某种原因,它没有出现在我的任何搜索中。不知何故,Datamapper忽略了我在安装说明中给出的路径,只是将其转储到根目录中。我想我给它的路径是从文件系统根目录而不是项目根目录,它无法从根文件夹中找到/db/文件夹,所以它只是把它放在根目录中。谢谢你的提示。