是否需要在 Flask 应用程序中关闭 python SQL 连接?

Posted

技术标签:

【中文标题】是否需要在 Flask 应用程序中关闭 python SQL 连接?【英文标题】:Is it required to close python SQL connection in Flask app? 【发布时间】:2016-03-18 02:26:33 【问题描述】:

我有下面这样的代码。是否有必要关闭mysql连接,因为每当我的主页被请求时,都会创建一个新的sql连接?

我随机收到连接限制错误。但我不确定是不是数据库连接的问题。

@app.route("Home", methods=["GET"])
def get_home_page():
     db = mysql.connect(host, user, password, db_name, charset='utf8', use_unicode=True)
     ...

【问题讨论】:

flask.pocoo.org/docs/0.10/tutorial/dbcon 如果您不关闭它们,它将创建新的打开连接。您可以将数据库存储在烧瓶中的全局 g 实例中,然后使用它来访问您的数据库。 What if I don't close the database connection in Python SQLite 的可能重复项。另请查看:When to close cursors using MySQLdb. 【参考方案1】:

关闭连接是个好习惯。您可以将代码放入 try..finally 块中。

@app.route("Home", methods=["GET"])
def get_home_page():
     db = mysql.connect(host, user, password, db_name, charset='utf8', use_unicode=True)
     try:
       ... do something ...
     finally:
         db.close()

【讨论】:

以上是关于是否需要在 Flask 应用程序中关闭 python SQL 连接?的主要内容,如果未能解决你的问题,请参考以下文章

如果从设置中关闭位置,则获取位置

Android:应用程序在调试过程中关闭

自从我在swift / xcode中关闭应用程序后几秒钟过去了?

我需要在 Java 中关闭 InputStream 吗?

我是不是需要在 Java 中关闭 IO 流? [复制]

是否可以从 iPhone 应用程序中关闭漫游?