beego session源码分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beego session源码分析相关的知识,希望对你有一定的参考价值。

参考技术A

Store接口定义一系列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源码分析的主要内容,如果未能解决你的问题,请参考以下文章

beego/cache源码分析---典型的工厂模式

beego源码解析之session

flask-day2——cbv源码分析模版语法请求与响应session及源码分析闪现请求扩展

echo源码分析

1 cbv分析2 模板3 请求与响应 4 session及源码分析5 闪现 6 请求扩展

gin-session使用以及源码分析