golang session实现库 支持cookie, redis,mysql等多种存储方式

golang中官方是不支持session的, 如果想要实现session则需要自己动手来实现,或者使用第三方的go-session实现库, 今天就给大家介绍一个go语言的第三方session实现库 go-sessions,支持 的存储方式有 cookie, file, redis, mysql等众多的存储。

使用示例:

Go 复制代码
import (
		"net/http"
		"github.com/gorilla/sessions"
	)

	// Note: Don't store your key in your source code. Pass it via an
	// environmental variable, or flag (or both), and don't accidentally commit it
	// alongside your code. Ensure your key is sufficiently random - i.e. use Go's
	// crypto/rand or securecookie.GenerateRandomKey(32) and persist the result.
	var store = sessions.NewCookieStore([]byte(os.Getenv("SESSION_KEY")))

	func MyHandler(w http.ResponseWriter, r *http.Request) {
		// Get a session. We're ignoring the error resulted from decoding an
		// existing session: Get() always returns a session, even if empty.
		session, _ := store.Get(r, "session-name")
		// Set some session values.
		session.Values["foo"] = "bar"
		session.Values[42] = 43
		// Save it before we write to the response/return from the handler.
		err := session.Save(r, w)
		if err != nil {
			http.Error(w, err.Error(), http.StatusInternalServerError)
			return
		}
	}

Github项目地址:

GitHub - tekintian/go-sessions: go语言里面的Sessions实现库, 支持众多的Session存储方式,cookie, redis, mysql等。 Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.go语言里面的Sessions实现库, 支持众多的Session存储方式,cookie, redis, mysql等。 Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends. - tekintian/go-sessionshttps://github.com/tekintian/go-sessions

相关推荐
李迟35 分钟前
Golang实践录:使用sqlx操作sqlite3数据库
数据库·golang·sqlite
CodeAmaz1 小时前
一致性哈希与Redis哈希槽详解
redis·算法·哈希算法
就叫飞六吧2 小时前
mysql表字段反查表名脚本-筛选法-查表技巧
数据库·mysql
1.14(java)2 小时前
MySQL数据库操作全攻略
java·数据库·mysql
jmxwzy2 小时前
MySQL
数据库·mysql
一条大祥脚3 小时前
25.12.30
数据库·redis·缓存
飞Link4 小时前
【MySQL】Linux(CentOS7)下安装MySQL8教程
linux·数据库·mysql
程可爱4 小时前
详解Redis消息队列的三种实现方案
redis
阿拉伯柠檬5 小时前
MySQL内置函数
linux·数据库·mysql·面试
计算机学姐5 小时前
基于SpringBoot的送货上门系统【2026最新】
java·vue.js·spring boot·后端·mysql·spring·tomcat