beego session源码分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beego session源码分析相关的知识,希望对你有一定的参考价值。
参考技术AStore接口定义一系列session存储销毁的规范
Provider是session存储的提供者,定义session的存储方式
实现session和provider中的方法,并且注册..
redis sessionStore的持有value map,保存现有session,session操作都会暂存至values map键值对。同时HttpServer每次请求后都会调用SessionRelease(rw)将数据保存至redis
session.go中定义了 var provides = make(map[string]Provider) 持有注册的Provider
关注initBeforeHTTPRun函数
2、注册系列hooks(hooks.go)
获取session配置项,调用NewManager,得到gobelSessions。gobelSessions即为reids session manager
5、从持有注册provider的map中根据provider name得到Manger
6、httpServer handler中初始化session
初始化,从cookie中获取sid,如果存在则直接读取,如果不存在则生成sessionId,并放入cookie,加入response
以上是关于beego session源码分析的主要内容,如果未能解决你的问题,请参考以下文章
flask-day2——cbv源码分析模版语法请求与响应session及源码分析闪现请求扩展