【问题标题】:Is it possible with SQLAlchemy to share SQLite database among multiple Python processes?SQLAlchemy 是否可以在多个 Python 进程之间共享 SQLite 数据库?
【发布时间】:2014-10-11 22:54:02
【问题描述】:

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

【问题讨论】:

    标签: python sqlite sqlalchemy


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2011-09-16
      • 1970-01-01
      • 2019-01-18
      • 2014-08-18
      • 1970-01-01
      • 2011-10-26
      相关资源
      最近更新 更多