03-flask会话技术

一、 会话技术cookie

response.set_cookie(key,value)
  • 获取cookie
request.cookies.get(key)
  • 删除cookie
response.delete_cookie(key)

二、 会话技术session

一、 概述

服务端的会话技术
所有数据都在服务器
存储在内存中【未做持久化处理】
session 是依赖于 cookie

如果要使用session,必须设置秘钥
app.config['SECRET_KEY'] = '123123123'

  • 设置session
session[key] = value
  • 获取session
session.get(key)
  • 删除session
session.pop(key)
response.delete_cookie('session')

三、 flask-session 插件

  • 概述
flask中session默认是内存(django默认持久化存储在数据库中)
flask-session可以实现session持久化存储
  • 官网
pip install Flask-Session
  • 初始化
- 必选
app.config['SESSION_TYPE'] = 'redis'  # session持久化策略redis

- 可选(客户端显示key)
app.congig['SESSION_COOKIE_NAME'] = 'sessionid_uu'

- 可选(过期时间)
app.config['PERMANENT_SESSION_LEFETIME'] = 60

方式一
Session(app)  # 实例化session对象

方式二
session = Session()
session.init_app(app)
  • 使用
和系统session使用一模一样,即只要配置好插件,源代码无需做任何修改!
  • redis 基本操作
查看所有key:KEYS *
查看过期时间: TTL key
删除所有:flushall
获取key对应的值:GET key

你可能感兴趣的:(03-flask会话技术)