badger

package
v0.0.0-...-c8e73f4 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2019 License: BSD-3-Clause, BSD-3-Clause Imports: 9 Imported by: 47

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultFileMode = 0755
)

DefaultFileMode used as the default database's "fileMode" for creating the sessions directory path, opening and write the session file.

Functions

This section is empty.

Types

type Database

type Database struct {
	// Service is the underline badger database connection,
	// it's initialized at `New` or `NewFromDB`.
	// Can be used to get stats.
	Service *badger.DB
	// contains filtered or unexported fields
}

Database the badger(key-value file-based) session storage.

func New

func New(directoryPath string) (*Database, error)

New creates and returns a new badger(key-value file-based) storage instance based on the "directoryPath". DirectoryPath should is the directory which the badger database will store the sessions, i.e ./sessions

It will remove any old session files.

func NewFromDB

func NewFromDB(service *badger.DB) *Database

NewFromDB same as `New` but accepts an already-created custom badger connection instead.

func (*Database) Acquire

func (db *Database) Acquire(sid string, expires time.Duration) sessions.LifeTime

Acquire receives a session's lifetime from the database, if the return value is LifeTime{} then the session manager sets the life time based on the expiration duration lives in configuration.

func (*Database) Clear

func (db *Database) Clear(sid string)

Clear removes all session key values but it keeps the session entry.

func (*Database) Close

func (db *Database) Close() error

Close shutdowns the badger connection.

func (*Database) Delete

func (db *Database) Delete(sid string, key string) (deleted bool)

Delete removes a session key value based on its key.

func (*Database) Get

func (db *Database) Get(sid string, key string) (value interface{})

Get retrieves a session value based on the key.

func (*Database) Len

func (db *Database) Len(sid string) (n int)

Len returns the length of the session's entries (keys).

func (*Database) OnUpdateExpiration

func (db *Database) OnUpdateExpiration(sid string, newExpires time.Duration) error

OnUpdateExpiration not implemented here, yet. Note that this error will not be logged, callers should catch it manually.

func (*Database) Release

func (db *Database) Release(sid string)

Release destroys the session, it clears and removes the session entry, session manager will create a new session ID on the next request after this call.

func (*Database) Set

func (db *Database) Set(sid string, lifetime sessions.LifeTime, key string, value interface{}, immutable bool)

Set sets a key value of a specific session. Ignore the "immutable".

func (*Database) Visit

func (db *Database) Visit(sid string, cb func(key string, value interface{}))

Visit loops through all session keys and values.

Jump to

Keyboard shortcuts

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