[英]Using Flask with PyMongo
I have Flask application, which looks like this: 我有Flask应用程序,看起来像这样:
from flask import Flask
app = Flask(__name__)
from pymongo import MongoClient
def get_db():
c = MongoClient()
return c.mydb
@app.route("/")
def hello():
db = get_db()
db.foo.find_one(...)
...
if __name__ == "__main__":
app.run()
Seems it works fine. 似乎工作正常。 But I'm not sure about one thing.
但是我不确定一件事。 I create a MongoClient instance (and connection to db) in every view call.
我在每个视图调用中创建一个MongoClient实例(以及与db的连接)。 But should I close connection?
但是我应该关闭连接吗?
Maybe I should close connection after each view call, like this: 也许我应该在每次视图调用后关闭连接,如下所示:
@app.before_request
def before_request():
g.db = get_db()
@app.teardown_request
def teardown_request(exception):
g.db.close()
How do you handle this stuff? 您如何处理这些东西?
MongoClient
具有内置的连接池支持,默认大小为10。因此,您应该创建一个MongoClient
实例,该实例保持打开状态并由所有视图调用共享。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.