共计 741 个字符,预计需要花费 2 分钟才能阅读完成。
要想在 Gin 框架中使用 session,可以使用官方开源项目
https://github.com/gin-contrib/sessions
安装
go get github.com/gin-contrib/sessions
代码集成,这里使用 redis 作为存储后端
import ( | |
"github.com/gin-contrib/sessions" | |
"github.com/gin-contrib/sessions/redis" | |
"github.com/gin-gonic/gin" | |
) | |
func main() {store, _ := redis.NewStoreWithDB(10, "tcp", "redis-db:6379", "密码", "RedisDB 库", []byte("密钥")) | |
r.Use(sessions.Sessions("session", store)) | |
} |
sessions.Sessions(“session”, store) session 为浏览器中存储的名字

gin 中设置和获取 session
session := sessions.Default(c) | |
v := session.Get("uuid") | |
if v == nil {u4 := uuid.New() | |
session.Set("uuid", u4.String()) | |
session.Save() | |
global.GL_LOG.Debugf("GinUUIDGen-set:%s", u4) | |
return nil, u4.String()} else {global.GL_LOG.Debugf("GinUUIDGen:%s", v) | |
return nil, v.(string) | |
} |
可以根据逻辑来为用户设置标识,这里我使用随机 uuid 来判断用户。设置后可以在 redis 里面看到 session 信息

正文完