SQLite内存作为web应用主数据库的可行性

SQLite内存作为web应用主数据库的可行性,sqlite,in-memory-database,Sqlite,In Memory Database,是否有人在内存数据库中运行SQLite作为其web应用程序的主数据库?我正试图弄清楚这种设置的可行性/愚蠢性 如果我有一个并发用户不到500的web应用程序和一个较小的数据库(在0到4GB之间),那么在内存中运行SQLite并将其中的整个数据库作为应用程序的主数据库的可行性是什么 在内存中运行显然会使ACID的“持久性”方面变得困难,但是使用,似乎可以使内存中的db与基于文件的db保持同步。我认为,当用户执行Save/Update/Delete命令时,它可以立即更新内存中的副本,然后排队将其保存

是否有人在内存数据库中运行SQLite作为其web应用程序的主数据库?我正试图弄清楚这种设置的可行性/愚蠢性

如果我有一个并发用户不到500的web应用程序和一个较小的数据库(在0到4GB之间),那么在内存中运行SQLite并将其中的整个数据库作为应用程序的主数据库的可行性是什么

在内存中运行显然会使ACID的“持久性”方面变得困难,但是使用,似乎可以使内存中的db与基于文件的db保持同步。我认为,当用户执行Save/Update/Delete命令时,它可以立即更新内存中的副本,然后排队将其保存到基于文件的数据库中。只要应用程序被循环,它就可以通过备份API从基于文件的数据库加载,对吗


根据SQLite文档,只有一个连接必须保持打开状态,才能使内存中的数据库保持正常运行,因此,如果它保持打开状态达数小时或数天,这是一个问题吗?

如果需要将数据库同步到磁盘,为什么要使用内存中的数据库?内存数据库的优点是,数据永远不需要写入文件系统。因为您需要将数据写入磁盘,所以您已经将唯一的优势变成了劣势。那么为什么要这样做呢?只需启动尽可能大的缓存。

您应该只使用内存中的数据库进行数据处理,而不是存储数据。因为您无论如何都需要将数据存储在磁盘上,所以首先将数据库存储在磁盘上更简单、更有效。

我考虑的是一个只有一台web服务器的系统。在服务器停机的情况下,如果磁盘上没有备份,那么如果磁盘上没有写操作,整个数据库都将消失。所有正常的web流量都可以通过内存中的数据库,但我认为任何写入都应该排队并保存到磁盘以进行灾难恢复。这是否可能满足您的需要?