数据库

译者:原作者有一些地方可能也出现了错误,而且有些章节相似的内容很多,真的是翻译的头晕,本人功力也有限,如有错漏请谅解。

有时需要一个后端存储,例如 redis, 它将使会话数据在服务器重启时保持水平扩展。

可以通过单个 sessions.UseDatabase(database)的调用来完成 sessions 数据库的注册。

Iris 实现了三个(3)内置的 session 数据库 redisbadger 和 boltdb。 这些 session 数据库都通过 iris/sessions/sessiondb 子包实现,而且你都需要引入它们。

  1. 引入 gitbub.com/kataras/iris/sessions/sessiondb/redis 或者 boltdb 或者 badger
  2. 初始化数据库并且
  3. 注册它们。

例如,注册 redis session 数据库:

import (
    "github.com/kataras/iris/v12"
    "github.com/kataras/iris/v12/sessions"

    // 1\. 引入 session 数据库。
    "github.com/kataras/iris/v12/sessions/sessiondb/redis"
)

// 2\. 初始化数据库。
// 这些是默认值,
// 你可以基于你运行中的 redis 服务器的设置去替换它们:
db := redis.New(redis.Config{
    Network:   "tcp",
    Addr:      "127.0.0.1:6379",
    Timeout:   time.Duration(30) * time.Second,
    MaxActive: 10,
    Password:  "",
    Database:  "",
    Prefix:    "",
    Delim:     "-",
    Driver:    redis.Redigo(), // 可使用 redis.Radix() 代替。
})

// 可选择配置如下驱动程序:
// driver := redis.Redigo()
// driver.MaxIdle = ...
// driver.IdleTimeout = ...
// driver.Wait = ...
// redis.Config {Driver: driver}

// 当执行 control+C/cmd+C  时关闭连接
iris.RegisterOnInterrupt(func() {
    db.Close()
})

sess := sessions.New(sessions.Config{
    Cookie:       "sessionscookieid",
    AllowReclaim: true,
})

// 3\. 注册它们。
sess.UseDatabase(db)

// [...]

boltdb

import "os"
import "github.com/kataras/iris/v12/sessions/sessiondb/boltdb"

db, err := boltdb.New("./sessions.db", os.FileMode(0750))

badger

import "github.com/kataras/iris/v12/sessions/sessiondb/badger"

db, err := badger.New("./data")

原文地址:https://github.com/kataras/iris/wiki

本文章首发在 LearnKu.com 网站上。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~