依賴:
Flask
Flask-Session
redis
import os from flask import Flask, session, request from flask_session import Session from redis import Redis app = Flask(__name__) app.config['SESSION_TYPE'] = 'redis' #session存儲格式為redis app.config['SESSION_REDIS'] = Redis( #redis的服務器參數 host='192.168.1.3', #服務器地址 port=6379) #服務器端口 app.config['SESSION_USE_SIGNER'] = True #是否強制加鹽,混淆session app.config['SECRET_KEY'] = os.urandom(24) #如果加鹽,那么必須設置的安全碼,鹽 app.config['SESSION_PERMANENT'] = False #sessons是否長期有效,false,則關閉瀏覽器,session失效 app.config['PERMANENT_SESSION_LIFETIME'] = 3600 #session長期有效,則設定session生命周期,整數秒,默認大概不到3小時。 Session(app) @app.route('/') def default(): return session.get('key', 'not set') @app.route('/test/') def test(): session['key'] = 'test' return 'ok' @app.route('/set/') def set(): arg = request.args.get('key') print(arg) session['key'] = arg return 'ok' @app.route('/get/') def get(): return session.get('key', 'not set') @app.route('/pop/') def pop(): session.pop('key') return session.get('key', 'not set') @app.route('/clear/') def clear(): session.clear() return session.get('key', 'not set') if __name__ == "__main__": app.run(debug=True)
本例通過flask-session擴展,實現了把session存儲在redis服務器中。
