跳至主要内容

会话 - SQLite3

Github StackBlitz

此示例使用 SQLite3 存储包来持久化用户会话。虽然存储包可以在初始化时自动创建会话表,但我们手动创建它以添加一个额外的“u”列。这个自定义列有几个作用:

  • 可以按用户标识符高效查询会话
  • 允许跟踪每个用户的多个会话
  • 便于清理特定用户的会话

默认的表结构只存储会话数据和过期时间,这使得将会话与特定用户关联变得困难。“u”列解决了这个限制。

先决条件

  • Go 1.16 或更高版本
  • Go modules

设置

  1. 克隆仓库

    git clone https://github.com/gofiber/recipes.git
    cd recipes/sessions-sqlite3
  2. 安装依赖

    go mod tidy
  3. 在 SQLite3 中创建会话表

    CREATE TABLE sessions (
    key TEXT PRIMARY KEY,
    data BLOB,
    expiry INTEGER,
    u TEXT
    );

运行应用

  1. 运行应用

    go run main.go
  2. 服务器将启动在 http://localhost:3000

说明

此示例使用 SQLite3 存储包来持久化用户会话。存储包可以在初始化时为你创建会话表,但出于本示例的目的,我们手动创建表并添加一个额外的“u”列,以便更好地查询所有用户相关的会话。