码迷,mamicode.com
首页 > 其他好文 > 详细

【Flask之Flask-Session】 򁄘

时间:2019-08-18 22:08:12      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:dia   ret   b16   png   http   键值对   cookie   默认   成功   

原文: 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】 򁄘

标签:dia   ret   b16   png   http   键值对   cookie   默认   成功   

原文地址:https://www.cnblogs.com/gqy02/p/11373875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!