flask应用将session存储到redis中

内容分享2个月前发布
1 0 0
全能 AI 聚合平台 免费

一站式接入主流 AI 大模型,支持对话 · 生图 · 生视频,即开即用

ChatGPT Claude Gemini Grok DeepSeek 通义千问 Ollama
AI对话 AI生图 AI视频
免费使用 →
  • 1.安装依赖包

pip install Flask-Session

pip install redis

  • 2.加入配置

SESSION_TYPE =  redis 
SESSION_REDIS= Redis(    #redis的服务器参数
    host= 192.168.1.3 ,                 #服务器地址
    port=6379)                           #服务器端口

  • 3.使用app初始化flask_session.Session

flask_session.Session(app)

完整源码

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)

© 版权声明

相关文章

暂无评论

none
暂无评论...