我正在使用Datamapper,它允许您指定系统上数据库文件的路径,或者只是字符串“memory”,然后使用“内存中”数据库。但是,我不知道这意味着什么。
“内存中”数据库是纯粹基于内存的还是在某些时候被序列化到文件系统?
内存数据库有什么好处?
是否只是为了提高效率 - 通过消除文件系统访问的成本?
答案 0 :(得分:1)
SQLite具有内存数据库的原因并不是真正的性能。在实践中,拥有一个文件并不比跳过那个慢,除非你的内存不足。它主要用于临时缓存或测试。例如,您可以使用内存数据库进行单元测试,这样您就不会使用生产数据。或者,如果您想要SQL功能,可以使用它作为memcache的替代方法。基本上,如果你不需要,那么你就不会 来保存数据。
答案 1 :(得分:1)
如果文件名是“:memory:”,那么a 私有的,临时的内存数据库 是为连接创建的。这个 内存数据库将在消失时消失 数据库连接已关闭。
顺便问一下,你有没有找到你想要的文件?