Session

Session 是一个 Tango 的 session 中间件.

后台

当前Session支持如下几种后台进行Session内容的存储:

  • Memory - 将Session保存在内存中,这个是默认值
  • Redis - 使用redis服务器进行Session保存
  • Ledis - 使用ledis服务器进行Session保存
  • nodb - 使用nodb文件来保存Session
  • ssdb - 使用ssdb服务器来保存Session

安装

  1. go get github.com/tango-contrib/session

例子

  1. package main
  2. import (
  3. "github.com/lunny/tango"
  4. "github.com/tango-contrib/session"
  5. )
  6. type SessionAction struct {
  7. session.Session
  8. }
  9. func (a *SessionAction) Get() string {
  10. a.Session.Set("test", "1")
  11. return a.Session.Get("test").(string)
  12. }
  13. func main() {
  14. o := tango.Classic()
  15. o.Use(session.New(session.Options{
  16. MaxAge:time.Minute * 20,
  17. }))
  18. o.Get("/", new(SessionAction))
  19. }

如果使用其它后台,则:

  1. func main() {
  2. o := tango.Classic()
  3. o.Use(session.New(session.Options{
  4. MaxAge:time.Minute * 20,
  5. Store: redistore.New(Options{
  6. Host: "127.0.0.1",
  7. DbIndex: 0,
  8. MaxAge: 30 * time.Minute,
  9. },
  10. }))
  11. o.Get("/", new(SessionAction))
  12. }