16。FastAPIsession
16.FastAPI session
在FastAPI中,要使用session,实际上是使用Starlette Session,Starlette Session是作为一个中间件存在的,所以需要安装Starlette Session。执行命令: pip install starlette-session 16.1使用Redis作为session存储
代码如下: from fastapi import FastAPI from redis import Redis from starlette_session import SessionMiddleware from starlette_session.backends import BackendType app = FastAPI() redis_client = Redis(host="127.0.0.1", port=6379, password="xxxxxx") app.add_middleware( SessionMiddleware, secret_key="secret", cookie_name="cookie22", backend_type=BackendType.redis, backend_client=redis_client )16.2使用Redis Cluster作为session存储
代码如下: from fastapi import FastAPI from rediscluster import RedisCluster from starlette_session import SessionMiddleware from starlette_session.backends import BackendType app = FastAPI() redis_client = RedisCluster(host="127.0.0.1", port=6381, password="xxxxxx") app.add_middleware( SessionMiddleware, secret_key="secret", cookie_name="cookie22", backend_type=BackendType.redis, backend_client=redis_client )16.3操作session
在FastAPI中,操作session可以通过request对象直接进行操作,假设对象名为request,则: request.session.update()设置session,参数为字典 request.session.clear() 清除session request.session读取session
代码如下: from fastapi import FastAPI from fastapi import Request from rediscluster import RedisCluster from starlette_session import SessionMiddleware from starlette_session.backends import BackendType app = FastAPI() redis_client = RedisCluster(host="127.0.0.1", port=6381, password="jane10181010") app.add_middleware( SessionMiddleware, secret_key="secret", cookie_name="cookie22", backend_type=BackendType.redis, backend_client=redis_client ) @app.get(path="/set") async def set(request: Request): request.session.update({"uid": "10181010"}) return {"res": True} @app.get(path="/cls") async def cls(request: Request): request.session.clear() return {"res": True} @app.get(path="/get") async def get(request: Request): return {"session": request.session}
执行请求: curl http://127.0.0.1:8000/set -i HTTP/1.1 200 OK date: Tue, 18 Jan 2022 02:20:00 GMT server: uvicorn content-length: 12 content-type: application/json set-cookie: cookie22=eyJfY3NzaWQiOiAiOGExMDJiM2UtZjJiNS00ZmVmLWJhZWEtYWM5YjI4ZWQ1N2JlIn0=.YeYj0Q.UCFZKi3jalMw0SknLsmM_RYpSj0; Path=/; Max-Age=1209600; httponly; samesite=lax {"res":true} curl http://127.0.0.1:8000/get --cookie "cookie22=eyJfY3NzaWQiOiAiOGExMDJiM2UtZjJiNS00ZmVmLWJhZWEtYWM5YjI4ZWQ1N2JlIn0=.YeYj0Q.UCFZKi3jalMw0SknLsmM_RYpSj0; Path=/; Max-Age=1209600; httponly; samesite=lax" -i HTTP/1.1 200 OK date: Tue, 18 Jan 2022 02:20:26 GMT server: uvicorn content-length: 30 content-type: application/json set-cookie: cookie22=eyJfY3NzaWQiOiAiOGExMDJiM2UtZjJiNS00ZmVmLWJhZWEtYWM5YjI4ZWQ1N2JlIn0=.YeYj6w.H2gL6V-BTq4ePB9gaTg-3fAt5r0; Path=/; Max-Age=1209600; httponly; samesite=lax {"session":{"uid":"10181010"}} curl http://127.0.0.1:8000/cls --cookie "cookie22=eyJfY3NzaWQiOiAiOGExMDJiM2UtZjJiNS00ZmVmLWJhZWEtYWM5YjI4ZWQ1N2JlIn0=.YeYj0Q.UCFZKi3jalMw0SknLsmM_RYpSj0; Path=/; Max-Age=1209600; httponly; samesite=lax" -i HTTP/1.1 200 OK date: Tue, 18 Jan 2022 02:20:48 GMT server: uvicorn content-length: 12 content-type: application/json set-cookie: cookie22=null; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; httponly; samesite=lax {"res":true} curl http://127.0.0.1:8000/get --cookie "cookie22=eyJfY3NzaWQiOiAiOGExMDJiM2UtZjJiNS00ZmVmLWJhZWEtYWM5YjI4ZWQ1N2JlIn0=.YeYj0Q.UCFZKi3jalMw0SknLsmM_RYpSj0; Path=/; Max-Age=1209600; httponly; samesite=lax" -i HTTP/1.1 200 OK date: Tue, 18 Jan 2022 02:20:53 GMT server: uvicorn content-length: 16 content-type: application/json set-cookie: cookie22=null; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; httponly; samesite=lax {"session":null}
王潮歌跨界指导HUAWEIP20系列发布会颠覆传统眼界大开!当我们的内心可以无限宽广,我们所呈现的世界便能让人眼界大开。4月12日,华为在上海体育中心举办2018春季新品发布会,正式向国内用户推出年度旗舰HUAWEIP20系列手机。著名导演
戴森发布全新空气净化风扇,洁净空气可覆盖各个角落2018年4月10日戴森于今日发布新一代DysonPureCool空气净化风扇,结合流体动力学以及过滤系统经验,以解决室内空气污染问题,循环洁净空气覆盖各个角落。空气污染是全球性的
打造极致极简的观影神器暴风小魔投七大反常规设计2018年5月23日,暴风集团在北京举行了主题为好好看一场电影的暴风小魔投新品发布会,隆重推出暴风小魔投标准版和火版,以及1994电影推荐引擎,帮助用户彻底摆脱用投影看电影的种种困
DivoomTivoo蓝牙音箱不仅仅只能听个响儿,它还是你的好伙伴蓝牙音箱这个小东西并不是什么新鲜玩意,相信很多人家中没准都能找出好几个来,但是今天本文的主角DivoomTivoo它不一样。它就是本文的主角DivoomTivoo,首先看到他你会不
领券最高减500元,魅族京东超品日火爆开启4月22日,魅族15手机发布,并在京东开启首发预约。这款魅族新品手机在延续往代经典设计语言的同时,融入了如暗光双摄等诸多新功能,由内而外全新升级。许多魅友称赞其为魅族15年继往开来
HUAWEIP20系列国内发布徕卡三摄AI开启智慧摄影新时代4月12日,HUAWEIP20系列在上海东方体育中心正式发布。作为华为2018年度旗舰,HUAWEIP20系列在继承了P系列核心DNA之上,将科技与艺术完美结合,独特的结构色渐镀工
河北建设443现代产业体系河北省十四五发展规划提出发展443现代产业体系一,强化四大优势产业领先地位1,钢铁产业。2,装备制造产业。3,石化产业。4,食品产业。二,构筑四大现代产业体系新支柱。1,信息智能产
中国最有钱的5大城市是谁?中国最有钱的5大城市北京,平均存款62万深圳,平均存款59万上海,平均存款45万南京,平均存款36万杭州,平均存款35万数据调查结果显示,中国最有钱,人均存款最高的城市是北京,其次
河北小镇崛起自行车王国,凭什么占领50国际市场?现如今,随着汽车越来越普及,自行车似乎真成了上个世纪的稀罕物件。事实上,崇尚环保的今天,全球每年自行车的产量并不少。值得一提的是,全世界60以上的自行车国际贸易量,都来自中国。中国
城市更新,接棒棚改如今的十四五规划提出,要在未来五年全面提升城市品质,实施城市更新行动,推动城市空间结构优化,改造提升老旧小区老旧厂区老旧街区和城中村等存量片区功能,推进老旧楼宇改造,积极扩建新建停
世界金融领域出现人类数千年从未见过的怪胎美国著名投资专家在历数目前世界面临的巨大金融风险时指出潜在的金融危机还有人类数千年历史从未见过的怪胎负利率,以及美联储无限吹大的债务泡沫,空前规模的26万亿美元美债达到7。8万亿美