boltdb

package
v11.1.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2019 License: BSD-3-Clause, BSD-3-Clause Imports: 8 Imported by: 0

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 boltdb(file-based) storage.

Functions

This section is empty.

Types

type Database

type Database struct {

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

Database the BoltDB(file-based) session storage.

func New

func New(path string, fileMode os.FileMode) (*Database, error)

New creates and returns a new BoltDB(file-based) storage instance based on the "path". Path should include the filename and the directory(aka fullpath), i.e sessions/store.db.

It will remove any old session files.

func NewFromDB

func NewFromDB(service *bolt.DB, bucketName string) (*Database, error)

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

func (*Database) Acquire

func (db *Database) Acquire(sid string, expires time.Duration) (lifetime 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 BoltDB 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 will re-set the database's session's entry ttl.

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