首页 > 其他 > 详细

【Flask之Flask-Session】 򉣱

时间:2019-08-18 18:55:17      阅读:96      评论:0      收藏:0      [点我收藏+]

原文: http://blog.gqylpy.com/gqy/344

"Flask太小了,没有地方装数据??,以至于内置的session数据都被存在客户端的Cookie中。

所以Flask-Session出来了,它会将session数据存入数据库中。

下面我们将使用Flask-Session将session数据存入redis数据库中。

先下载:
pip install Flask-Session

代码如下:

from flask import Flask, session
from flask_session import Session
from redis import Redis

app = Flask(__name__)  # type:Flask

# 添加键值对,用于指定使用redis存储session
app.config['SESSION_TYPE'] = 'redis'

# 指定redis连接
app.config['SESSION_REDIS'] = Redis('127.0.0.1', 6379, db=7)
# db=7:表示使用数据库7,redis默认有16个数据库
# 可在redis-cli中使用 select [0-15] 切换,各个数据库中的数据是独立的

# 替换Flask原有的session机制
Session(app)


@app.route('/<xx>', methods={'GET', 'POST'})
def test(xx):
    # 存储session到redis中
    session['key'] = xx
    # 取出session数据
     print(session.get('key'))
    return xx * 10000


app.run(debug=True)


"""
存入redis中的key是这种形式的的:"session:857a3c6d-e4fe-42b7-af91-5e6d05a8fdab"
存入redis中的key,是客户端cookie中存的key和value的拼接
而存入的value则是二进制类型
"""

启动脚本,打开浏览器访问:
技术分享图片
此时,已成功将session数据存入数据库,进入redis查看:

# 我们使用的数据库7,别忘记了切换至数据库7
127.0.0.1:6379[7]> select 7  
OK

127.0.0.1:6379[7]> keys *
1) "session:8a6f1b03-2cde-4847-b16a-f1de50bf7ab5"

127.0.0.1:6379[7]> get "session:8a6f1b03-2cde-4847-b16a-f1de50bf7ab5"
"\x80\x03}q\x00(X\n\x00\x00\x00_permanentq\x01\x88X\x03\x00\x00\x00keyq\x02X\x04\x00\x00\x00\xf0\x9f\x98\x82q\x03u."

"

原文: http://blog.gqylpy.com/gqy/344

【Flask之Flask-Session】 򉣱

原文:https://www.cnblogs.com/bbb001/p/11372622.html

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