Overview
Content Tools
内存存储比较简单,性能也很高效,但没有持久化存储Session
数据,因此应用程序重启之后便会丢失Session
数据,可用于特定的业务场景中。gsession
的内存
存储使用StorageMemory
对象实现,
package main import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gsession" "github.com/gogf/gf/v2/os/gtime" "time" ) func main() { s := g.Server() s.SetSessionMaxAge(time.Minute) s.SetSessionStorage(gsession.NewStorageMemory()) s.Group("/", func(group *ghttp.RouterGroup) { group.ALL("/set", func(r *ghttp.Request) { r.Session.MustSet("time", gtime.Timestamp()) r.Response.Write("ok") }) group.ALL("/get", func(r *ghttp.Request) { r.Response.Write(r.Session.Data()) }) group.ALL("/del", func(r *ghttp.Request) { _ = r.Session.RemoveAll() r.Response.Write("ok") }) }) s.SetPort(8199) s.Run() }
在该实例中,为了方便观察过期失效,我们将Session
的过期时间设置为1分钟
。执行后,
Session
变量;Session
变量已经设置并成功获取;Session
变量已经没有了;
Powered by a free Atlassian Confluence Open Source Project License granted to GoFrame. Evaluate Confluence today.