flask-session的用法
flask-session的作用
原本flask的session,是加密后放到cookie中
现在向把session存在服务端,不放在cookie中
-存在表中:跟djagno默认一样
-存在缓存(redis):性能高
使用方式一
from flask import Flask,session
from flask_session import RedisSessionInterface
from redis import Redis
app = Flask(__name__)
app.secret_key='asdfasdf'
app.debug=True
conn=Redis(host='127.0.0.1',port=6379)
# 1 conn == redis链接对象
# 2 'session' == 放到redis中得前缀
# 3 use_signer == 是否使用 secret_key 加密
# 4 permanent == 关闭浏览器,cookie是否失效
# 5 sid_length == 生成session_key的长度
app.session_interface=RedisSessionInterface(conn,'session',use_signer=True, permanent=True, sid_length=32)
使用方式二
from flask import Flask,session
from flask_session import Session
from redis import Redis
app = Flask(__name__)
app.secret_key='asdfasdf'
app.debug=True
# 配置信息,可以写在配置文件中
app.config['SESSION_TYPE'] = 'redis'
app.config['SESSION_REDIS'] = Redis(host='127.0.0.1', port='6379')
# app.config['SESSION_KEY_PREFIX'] = 'xxx' # 如果不写,默认以:SESSION_COOKIE_NAME 作为key
# app.config.from_pyfile('./settings.py')
Session(app) # 核心跟第一种方式一模一样