redis

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2022 License: LGPL-3.0, LGPL-3.0 Imports: 9 Imported by: 0

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/W3-Engineers-Ltd/Radiant/server/web/session/redis"
"github.com/W3-Engineers-Ltd/Radiant/server/web/session"

)

func init() {
	globalSessions, _ = session.NewManager("redis", ``{"cookieName":"gosessionid","gclifetime":3600,"ProviderConfig":"127.0.0.1:7070"}``)
	go globalSessions.GC()
}

more docs: http://radiant.me/docs/module/session.md

Index

Constants

This section is empty.

Variables

View Source
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

func (rp *Provider) SessionAll(context.Context) int

SessionAll return all activeSession

func (*Provider) SessionDestroy

func (rp *Provider) SessionDestroy(ctx context.Context, sid string) error

SessionDestroy delete redis session by id

func (*Provider) SessionExist

func (rp *Provider) SessionExist(ctx context.Context, sid string) (bool, error)

SessionExist check redis session exist by sid

func (*Provider) SessionGC

func (rp *Provider) SessionGC(context.Context)

SessionGC Impelment method, no used.

func (*Provider) SessionInit

func (rp *Provider) SessionInit(ctx context.Context, maxlifetime int64, cfgStr string) error

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

func (rp *Provider) SessionRead(ctx context.Context, sid string) (session.Store, error)

SessionRead read redis session by sid

func (*Provider) SessionRegenerate

func (rp *Provider) SessionRegenerate(ctx context.Context, oldsid, sid string) (session.Store, error)

SessionRegenerate generate new sid for redis session

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) Set

func (rs *SessionStore) Set(ctx context.Context, key, value interface{}) error

Set value in redis session

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL