Documentation ¶
Overview ¶
Package memstore is a in-memory session store for the SCS session package.
Warning: Because memstore uses in-memory storage only, all session data will be lost when your Go program is stopped or restarted. On the upside though, it is blazingly fast.
In production, memstore should only be used where this volatility is an acceptable trade-off for the high performance, and where lost session data will have a negligible impact on users.
The memstore package provides a background 'cleanup' goroutine to delete expired session data. This stops the underlying cache from holding on to invalid sessions forever and taking up unnecessary memory.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MemStore ¶
type MemStore struct {
*cache.Cache
}
MemStore represents the currently configured session session store. It is essentially a wrapper around a go-cache instance (see https://github.com/patrickmn/go-cache).
func New ¶
New returns a new MemStore instance.
The cleanupInterval parameter controls how frequently expired session data is removed by the background 'cleanup' goroutine. Setting it to 0 prevents the cleanup goroutine from running (i.e. expired sessions will not be removed).
func (*MemStore) Delete ¶
Delete removes a session token and corresponding data from the MemStore instance.