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
官方文档https://beego.me/docs/intro/
官方Samples
中国人自己开发的Go应用框架,支持八大低耦合独立的模块,同时支持bee小工具,快速开发Go的应用程序,另外还自带了监控模块,类似于SpringBoot的 Actutar的功能
优点是大而全,缺点是过于臃肿了,在某些模块,比如mvc模块、orm模块,不如一些小而专的框架(Gin)
bee工具生成的beego项目,会在conf路径下有app.conf文件,直接配置,然后就可以使用了。
包括了很多核心功能的配置:静态资源路径、端口、session、日志配置、Web配置、App配置等等
特性:
beego会自动进行源码分析,但是只会在dev模式下生成,生成的路由放在/routers/commentsRouter_controllers.go
https://beego.me/docs/module/logs.md
依赖类库"github.com/astaxie/beego/logs"
https://beego.me/docs/install/bee.md
常用命令
beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架。
GoLand 是一个用于开发go应用的IDE,和python常用的IDE pyCharm一样,都是由JetBrains公司开发的。
最近看了下使用go开发web应用方面的东西,发现beego( https://github.com/astaxie/beego ) 这个框架挺不错的,中文的文档写的也很好 ( https://beego.me/docs/intro/ )。 我按照文档把demo run起来了,然后就是想着怎么debug了,下面简单介绍下如何使用GoLand这个IDE来debug beego应用。
这里假设你已经安装好了go和beego环境。可以参考 https://beego.me/docs/install/ 进行安装。
参考上面发的文档连接准备一个beego项目。
菜单栏依次选择:"File" ->"Open",选择beego路径,然后“确定”,我的demo路径为“D:\dyp\project\go\ceshi\src\quickstart”,如下图所示:
菜单依次选择“Run”->“Edit configurations”如下图所示:
在d出的对话框中按照如下图所示配置:
点击“debug”按钮,如下图所示:
设置断点就可以开始调试啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)