首页 > 其他 > 详细

flask 引入redis 替换原生session存储session(flask-session)

时间:2021-01-03 21:49:29      阅读:148      评论:0      收藏:0      [点我收藏+]

环境:

  python 3.7.4

  win 10 环境

  redis 服务

 

模块依赖:

  flask

  flask-session

  redis

 

工程目录:

  技术分享图片

 

 

flask 引入redis 替换原生session存储session(flask-session)

  在配置文件中加入redis连接配置以及flask-session 替换为 redis方式

  技术分享图片

 

   

import uuid, os
from redis import Redis

class BasicConfig(object):
    # SECRET_KEY = os.urandom(24)
    SECRET_KEY = str(uuid.uuid4())

class DevConfig(BasicConfig):
    DEBUG = True
    # Mysql 配置
    SQLALCHEMY_DATABASE_URI = mysql+pymysql://root:123456@127.0.0.1/anec
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_POOL_SIZE = 5
    SQLALCHEMY_POOL_TIMEOUT = 15

    # redis 与 flask-session 配置
    SESSION_TYPE = redis  # session存储格式为redis
    SESSION_REDIS = Redis(host=192.168.0.118, port=6379)
    SESSION_USE_SIGNER = True  # 是否强制加盐,混淆session
    SESSION_PERMANENT = False  # sessons是否长期有效,false,则关闭浏览器,session失效
    PERMANENT_SESSION_LIFETIME = 3600  # session长期有效,则设定session生命周期,整数秒,默认大概不到3小时。

 

  在views 中使用 session

from App.RedisSession import redissession
from flask import session, request


@redissession.route(/)
def default():
    return session.get(key, not set)


@redissession.route(/test/)
def test():
    session[key] = test
    return ok


@redissession.route(/set/)
def set():
    # 从请求头中获取 新的Key值
    arg = request.args.get(key)
    print(arg)
    session[key] = arg
    return ok


@redissession.route(/get/)
def get():
    return session.get(key, not set)


@redissession.route(/pop/)
def pop():
    session.pop(key)
    return session.get(key, not set)


@redissession.route(/clear/)
def clear():
    session.clear()
    return session.get(key, not set)

 

flask 引入redis 替换原生session存储session(flask-session)

原文:https://www.cnblogs.com/Anec/p/14226677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!