GoFrame Session-Memory

2022-04-14 10:23 更新

內存存儲

內存存儲比較簡單,性能也很高效,但沒有持久化存儲?Session?數(shù)據(jù),因此應用程序重啟之后便會丟失?Session?數(shù)據(jù),可用于特定的業(yè)務場景中。?gsession?的內存存儲使用?StorageMemory?對象實現(xiàn)。

使用示例

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.SetConfigWithMap(g.Map{
		"SessionMaxAge":  time.Minute,
		"SessionStorage": gsession.NewStorageMemory(),
	})
	s.Group("/", func(group *ghttp.RouterGroup) {
		group.ALL("/set", func(r *ghttp.Request) {
			r.Session.Set("time", gtime.Timestamp())
			r.Response.Write("ok")
		})
		group.ALL("/get", func(r *ghttp.Request) {
			r.Response.Write(r.Session.Map())
		})
		group.ALL("/del", func(r *ghttp.Request) {
			r.Session.Clear()
			r.Response.Write("ok")
		})
	})
	s.SetPort(8199)
	s.Run()
}

在該實例中,為了方便觀察過期失效,我們將?Session?的過期時間設置為1分鐘。執(zhí)行后:

  1. 首先,訪問 http://127.0.0.1:8199/set 設置一個?Session?變量;
  2. 隨后,訪問 http://127.0.0.1:8199/get 可以看到該?Session?變量已經(jīng)設置并成功獲??;
  3. 接著,我們停止程序,并重新啟動,再次訪問 http://127.0.0.1:8199/get ,可以看到?Session?變量已經(jīng)沒有了;


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號