会话 - SQLite3
此示例使用 SQLite3 存储包来持久化用户会话。虽然存储包可以在初始化时自动创建会话表,但我们手动创建它以添加一个额外的“u”列。这个自定义列有几个作用:
- 可以按用户标识符高效查询会话
- 允许跟踪每个用户的多个会话
- 便于清理特定用户的会话
默认的表结构只存储会话数据和过期时间,这使得将会话与特定用户关联变得困难。“u”列解决了这个限制。
先决条件
- Go 1.16 或更高版本
- Go modules
设置
-
克隆仓库
git clone https://github.com/gofiber/recipes.git
cd recipes/sessions-sqlite3 -
安装依赖
go mod tidy
-
在 SQLite3 中创建会话表
CREATE TABLE sessions (
key TEXT PRIMARY KEY,
data BLOB,
expiry INTEGER,
u TEXT
);
运行应用
-
运行应用
go run main.go
-
服务器将启动在
http://localhost:3000
。
说明
此示例使用 SQLite3 存储包来持久化用户会话。存储包可以在初始化时为你创建会话表,但出于本示例的目的,我们手动创建表并添加一个额外的“u”列,以便更好地查询所有用户相关的会话。