SQLAlchemy是否可以在多个Python进程之间共享SQLite数据库?

时间:2014-10-11 14:30:52

标签: python sqlite sqlalchemy

是否可以在多个Python进程中使用SQLAlchemy共享内存中的SQLite数据库?所有应用程序都在读取和写入。如果是这样,是否可取?

1 个答案:

答案 0 :(得分:1)

不,您无法在进程之间共享内存中的SQLite数据库。内存中的SQLite数据库是创建它的连接的私有数据库;即使在同一进程中,与:memory:的新连接也会创建一个新数据库。 SQLAlchemy没有解除这个限制。

您只能共享基于文件的数据库。 SQLite使用system of locking来实现这一点。

也就是说,SQLite不是并发数据库访问的最佳选择。如果性能问题,使用单独的服务器来管理多个客户端(例如MySQL或PostgreSQL)的数据库是更好的选择。