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)  # 核心跟第一种方式一模一样

posted @ 2024-03-06 15:03  wellplayed  阅读(24)  评论(0编辑  收藏  举报