Session
Session 是一个 Tango 的 session 中间件.
后台
当前Session支持如下几种后台进行Session内容的存储:
- Memory - 将Session保存在内存中,这个是默认值
- Redis - 使用redis服务器进行Session保存
- Ledis - 使用ledis服务器进行Session保存
- nodb - 使用nodb文件来保存Session
- ssdb - 使用ssdb服务器来保存Session
安装
go get github.com/tango-contrib/session
例子
package main
import (
"github.com/lunny/tango"
"github.com/tango-contrib/session"
)
type SessionAction struct {
session.Session
}
func (a *SessionAction) Get() string {
a.Session.Set("test", "1")
return a.Session.Get("test").(string)
}
func main() {
o := tango.Classic()
o.Use(session.New(session.Options{
MaxAge:time.Minute * 20,
}))
o.Get("/", new(SessionAction))
}
如果使用其它后台,则:
func main() {
o := tango.Classic()
o.Use(session.New(session.Options{
MaxAge:time.Minute * 20,
Store: redistore.New(Options{
Host: "127.0.0.1",
DbIndex: 0,
MaxAge: 30 * time.Minute,
},
}))
o.Get("/", new(SessionAction))
}