Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
在Gin框架中,我们可以依赖[gin-contrib/sessions](https://github.com/gin-contrib/sessions)中间件处理session。 gin-contrib/sessions中间件支持的存储引擎: - cookie - memstore - redis - memcached - mongodb 下面介绍session的用法 ## 1.安装session包 ``` go get github.com/gin-contrib/sessions ``` ## 2.基本的session用法 ```go package main import ( // 导入session包 "github.com/gin-contrib/sessions" // 导入session存储引擎 "github.com/gin-contrib/sessions/cookie" // 导入gin框架包 "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 创建基于cookie的存储引擎,secret11111 参数是用于加密的密钥 store := cookie.NewStore([]byte("secret11111")) // 设置session中间件,参数mysession,指的是session的名字,也是cookie的名字 // store是前面创建的存储引擎,我们可以替换成其他存储引擎 r.Use(sessions.Sessions("mysession", store)) r.GET("/hello", func(c *gin.Context) { // 初始化session对象 session := sessions.Default(c) // 通过session.Get读取session值 // session是键值对格式数据,因此需要通过key查询数据 if session.Get("hello") != "world" { // 设置session数据 session.Set("hello", "world") // 删除session数据 session.Delete("sockstack") // 保存session数据 session.Save() // 删除整个session // session.Clear() } c.JSON(200, gin.H{"hello": session.Get("hello")}) }) r.Run(":8000") } ```
登录查看更多内容
【Gin实战系列】session处理
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-09-02
修改于
2023-09-02
尚未登录
登录 / 注册
专栏目录
【Gin实战系列】快速入门
【Gin实战系列】项目结构
【Gin实战系列】项目配置
【Gin实战系列】控制器于路由
【Gin实战系列】请求参数处理
【Gin实战系列】校验错误信息
【Gin实战系列】服务编写
【Gin实战系列】模型定义
【Gin实战系列】数据库操作
【Gin实战系列】请求响应处理
【Gin实战系列】统一结构响应处理
【Gin实战系列】中间件使用
【Gin实战系列】日志使用
【Gin实战系列】cookie处理
【Gin实战系列】session处理
【Gin实战系列】模板渲染
【Gin实战系列】实例:密码加密
【Gin实战系列】实例:登录注册
【Gin实战系列】jwt身份认证
【Gin实战系列】使用 swagger 文档
【Gin实战系列】实例:文件上传