在 Golang 中使用 Redis 配置 gin-gonic 会话

Configure gin-gonic session using Redis in Golang

我在 Go 中使用 gin-gonic 并使用 github.com/gin-gonic/contrib/sessions

中提供的 Redis 会话功能
store, _ := sessions.NewRedisStore(10, "tcp", "localhost:6379", "", []byte("secret"))
router.Use(sessions.Sessions("workino_session", store))

如何控制这些 Session 在 Redis 中存储多长时间?

谢谢。

虽然 README 的文档很少,GoDoc docs 对此更加清楚。

请注意,gin-gonic 会话包在下面使用 gorilla/sessions 并共享相同的选项 API。

// We check for errors.
store, err := sessions.NewRedisStore(10, "tcp", "localhost:6379", "", []byte("secret"))
if err != nil {
    // Handle the error. Probably bail out if we can't connect.
}

// Ref: https://godoc.org/github.com/gin-gonic/contrib/sessions#Options
store.Options = &sessions.Options{
    MaxAge: 86400,
    Path: "/",
    Secure: true,
    HttpOnly: true,
}

// Use the store once configured.
router.Use(sessions.Sessions("workino_session", store))