Python Web 应用程序中的数据集

Python dataset in web application

我写了一个简单的 REST API,使用 pybottle 作为 Web 框架,dataset 作为数据库处理程序。我想知道数据集如何处理(打开和关闭)与数据库的连接,以及我需要在多大程度上关注这个问题。

考虑以下几点:

db = dataset.connect('sqlite:///database.db')
table = db['table']

def some_function():
    # do some manipulation (eg. insert) in 'table'

当我从 Web 应用程序(在另一个文件中)调用 some_function() 时会发生什么?执行函数后数据集是否正确打开和关闭与数据库的连接?还是每次函数调用都有一个新的打开的连接?

Python 中的每个 SQL driver 都在 Python DB API PEP0249 之后。 据我所知,您正在为 SQLite 使用 driver,因此它应该遵循相同的规则。

SQLAlchemy 有一种 built-in 方法可以建立持久连接并避免连接中断。您可以创建一个方法 get_connection() returns 一个 Database object 或者如果没有活动的则重新建立连接。

检查 connect documentation and source code 以查看库如何包装与数据库的通信。