beego session

1、beego 内置了 session 模块,目前 session 模块支持的后端引擎包括 memory、cookie、file、mysql、redis、couchbase、memcache、postgres,用户也可以根据相应的 interface 实现自己的引擎。

beego 中使用 session 相当方便,只要在 main 入口函数中设置

beego.BConfig.WebConfig.Session.SessionOn = true

或者通过配置文件配置

sessionon = true

2、控制器中简单设置、获取session

func (c *TestController) GetSes() {
	// 设置 session
	c.SetSession("userId", 1)
	c.SetSession("username", "孙悟空")
	// 获取 session
	userId := c.GetSession("userId")
	username := c.GetSession("username")

	fmt.Printf("用户ID=%v, 用户名称=%v", userId, username)

	// 删除 session
	c.DelSession("userId")
	// 清空 session
	c.DestroySession()
}

3、关于 Session 模块使用中的一些参数设置:

        1)设置是否开启 Session,默认是 false,配置文件对应的参数名:sessionon

beego.BConfig.WebConfig.Session.SessionOn

        2)设置 Session 的引擎,默认是 memory,目前支持还有 file、mysql、redis 等,配置文件对应的参数名:sessionprovider

beego.BConfig.WebConfig.Session.SessionProvider

        3)设置 cookies 的名字,Session 默认是保存在用户的浏览器 cookies 里面的,默认名是 beegosessionID,配置文件对应的参数名是:sessionname

beego.BConfig.WebConfig.Session.SessionName

        4)设置 Session 过期的时间,默认值是 3600 秒,配置文件对应的参数:sessiongcmaxlifetime

beego.BConfig.WebConfig.Session.SessionGCMaxLifetime

         5)设置对应 file、mysql、redis 引擎的保存路径或者链接地址,默认值是空,配置文件对应的参数:sessionproviderconfig

beego.BConfig.WebConfig.Session.SessionProviderConfig

         6)默认值为 sha1,采用 sha1 加密算法生产 sessionid

beego.BConfig.WebConfig.Session.SessionHashFunc

        7) 默认的 key 是 beegoserversessionkey,建议用户使用的时候修改该参数

beego.BConfig.WebConfig.Session.SessionHashKey

        8)设置 cookie 的过期时间,cookie 是用来存储保存在客户端的数据

beego.BConfig.WebConfig.Session.SessionCookieLifeTime

 4、当 SessionProvider 为 redis 时,SessionProviderConfig 是 redis 的链接地址,采用了 

redigo

beego.BConfig.WebConfig.Session.SessionProvider = "redis"
beego.BConfig.WebConfig.Session.SessionProviderConfig = "127.0.0.1:6379"

 


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40880022/article/details/124515954