Web应用程序中的Python数据集

时间:2016-03-22 20:41:05

标签: python sqlalchemy bottle

我编写了一个简单的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()时会发生什么?数据集在执行函数后是否正确打开和关闭与数据库的连接?或者每个函数调用都有一个新的开放连接?

1 个答案:

答案 0 :(得分:1)

Python中的每个SQL驱动程序都遵循Python DB API PEP0249。 据我所知,你正在使用SQLite的驱动程序,所以它应遵循相同的规则。

SQLAlchemy有一种内置的方法来建立持久的连接并避免连接丢失。您可以创建一个方法get_connection(),该方法返回Database个对象,如果没有活动连接,则重新建立连接。

检查connect documentationsource code,了解图书馆如何包装与数据库的通信。