标签:dia ret b16 png http 键值对 cookie 默认 成功
"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."
"
标签:dia ret b16 png http 键值对 cookie 默认 成功
原文地址:https://www.cnblogs.com/gqy02/p/11373875.html