我正在用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