Documentation ¶
Overview ¶
Package redis for session provider
depend on github.com/gomodule/redigo/redis
go install github.com/gomodule/redigo/redis
Usage: import(
_ "github.com/beego/beego/v2/server/web/session/redis" "github.com/beego/beego/v2/server/web/session"
)
func init() { globalSessions, _ = session.NewManager("redis", ``{"cookieName":"gosessionid","gclifetime":3600,"ProviderConfig":"127.0.0.1:7070"}``) go globalSessions.GC() }
Index ¶
- Variables
- type Provider
- func (rp *Provider) SessionAll(context.Context) int
- func (rp *Provider) SessionDestroy(ctx context.Context, sid string) error
- func (rp *Provider) SessionExist(ctx context.Context, sid string) (bool, error)
- func (rp *Provider) SessionGC(context.Context)
- func (rp *Provider) SessionInit(ctx context.Context, maxlifetime int64, cfgStr string) error
- func (rp *Provider) SessionRead(ctx context.Context, sid string) (session.Store, error)
- func (rp *Provider) SessionRegenerate(ctx context.Context, oldsid, sid string) (session.Store, error)
- type SessionStore
- func (rs *SessionStore) Delete(ctx context.Context, key interface{}) error
- func (rs *SessionStore) Flush(context.Context) error
- func (rs *SessionStore) Get(ctx context.Context, key interface{}) interface{}
- func (rs *SessionStore) SessionID(context.Context) string
- func (rs *SessionStore) SessionRelease(ctx context.Context, w http.ResponseWriter)
- func (rs *SessionStore) SessionReleaseIfPresent(ctx context.Context, w http.ResponseWriter)
- func (rs *SessionStore) Set(ctx context.Context, key, value interface{}) error
Constants ¶
This section is empty.
Variables ¶
var MaxPoolSize = 100
MaxPoolSize redis max pool size
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { SavePath string `json:"save_path"` Poolsize int `json:"poolsize"` Password string `json:"password"` DbNum int `json:"db_num"` IdleTimeoutStr string `json:"idle_timeout"` IdleCheckFrequencyStr string `json:"idle_check_frequency"` MaxRetries int `json:"max_retries"` // contains filtered or unexported fields }
Provider redis session provider
func (*Provider) SessionAll ¶
SessionAll return all activeSession
func (*Provider) SessionDestroy ¶
SessionDestroy delete redis session by id
func (*Provider) SessionExist ¶
SessionExist check redis session exist by sid
func (*Provider) SessionInit ¶
SessionInit init redis session savepath like redis server addr,pool size,password,dbnum,IdleTimeout second v1.x e.g. 127.0.0.1:6379,100,astaxie,0,30 v2.0 you should pass json string
func (*Provider) SessionRead ¶
SessionRead read redis session by sid
type SessionStore ¶
type SessionStore struct {
// contains filtered or unexported fields
}
SessionStore redis session store
func (*SessionStore) Delete ¶
func (rs *SessionStore) Delete(ctx context.Context, key interface{}) error
Delete value in redis session
func (*SessionStore) Flush ¶
func (rs *SessionStore) Flush(context.Context) error
Flush clear all values in redis session
func (*SessionStore) Get ¶
func (rs *SessionStore) Get(ctx context.Context, key interface{}) interface{}
Get value in redis session
func (*SessionStore) SessionID ¶
func (rs *SessionStore) SessionID(context.Context) string
SessionID get redis session id
func (*SessionStore) SessionRelease ¶
func (rs *SessionStore) SessionRelease(ctx context.Context, w http.ResponseWriter)
SessionRelease save session values to redis
func (*SessionStore) SessionReleaseIfPresent ¶ added in v2.3.0
func (rs *SessionStore) SessionReleaseIfPresent(ctx context.Context, w http.ResponseWriter)
SessionReleaseIfPresent save session values to redis when key is present