我正在用Redis数据库创建烧瓶应用程序。我有一个连接问题每个请求都应该关闭Python Redis连接? (烧瓶)
我可以有Redis的连接全球,并保持非全封闭时间:
初始化的.py
import os
from flask import Flask
import redis
app = Flask(__name__)
db = redis.StrictRedis(host='localhost', port=6379, db=0)
我也可以重新连接每个请求(瓶文档http://flask.pocoo.org/docs/tutorial/dbcon/):
初始化的.py
import os
from flask import Flask
import redis
app = Flask(__name__)
#code...
@app.before_request
def before_request():
g.db = connect_db()
@app.teardown_request
def teardown_request(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
哪种方法更好?为什么我应该使用它?
感谢您的帮助!
“更好”是一种很难解决的问题,而不是真正的SO问题。例如,你的意思是“更快”,“更安全”,“更高效”?另外,你如何使用你的数据库 - 你将要做什么样的请求,并且他们是单个指令还是一系列指令? –
它非常重要的速度和稳定性。数据库用于用户数据,如用户ID,公钥,私钥等。 – KiraLT