是否可以在多个Python进程中使用SQLAlchemy共享内存中的SQLite数据库?所有应用程序都在读取和写入。如果是这样,是否可取?
答案 0 :(得分:1)
不,您无法在进程之间共享内存中的SQLite数据库。内存中的SQLite数据库是创建它的连接的私有数据库;即使在同一进程中,与:memory:
的新连接也会创建一个新数据库。 SQLAlchemy没有解除这个限制。
您只能共享基于文件的数据库。 SQLite使用system of locking来实现这一点。
也就是说,SQLite不是并发数据库访问的最佳选择。如果性能问题,使用单独的服务器来管理多个客户端(例如MySQL或PostgreSQL)的数据库是更好的选择。