Documentation ¶
Index ¶
- type Cache
- type EvictCallback
- type LruCache
- func (c *LruCache) Delete(key string)
- func (c *LruCache) Exist(key interface{}) bool
- func (c *LruCache) Get(key interface{}) (interface{}, bool)
- func (c *LruCache) GetWithExpire(key interface{}) (interface{}, time.Time, bool)
- func (c *LruCache) Set(key interface{}, value interface{})
- func (c *LruCache) SetWithExpire(key interface{}, value interface{}, expires time.Time)
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache store element with a expired time
func (Cache) Get ¶
func (c Cache) Get(key interface{}) interface{}
Get element in Cache, and drop when it expired
func (Cache) GetWithExpire ¶
GetWithExpire element in Cache with Expire Time
type EvictCallback ¶
type EvictCallback = func(key interface{}, value interface{})
EvictCallback is used to get a callback when a cache entry is evicted
type LruCache ¶
type LruCache struct {
// contains filtered or unexported fields
}
LruCache is a thread-safe, in-memory lru-cache that evicts the least recently used entries from memory when (if set) the entries are older than maxAge (in seconds). Use the New constructor to create one.
func (*LruCache) Exist ¶
Exist returns if key exist in cache but not put item to the head of linked list
func (*LruCache) Get ¶
Get returns the interface{} representation of a cached response and a bool set to true if the key was found.
func (*LruCache) GetWithExpire ¶
GetWithExpire returns the interface{} representation of a cached response, a time.Time Give expected expires, and a bool set to true if the key was found. This method will NOT check the maxAge of element and will NOT update the expires.
func (*LruCache) Set ¶
func (c *LruCache) Set(key interface{}, value interface{})
Set stores the interface{} representation of a response for a given key.
func (*LruCache) SetWithExpire ¶
SetWithExpire stores the interface{} representation of a response for a given key and given exires. The expires time will round to second.
type Option ¶
type Option func(*LruCache)
Option is part of Functional Options Pattern
func WithStale ¶
WithStale decide whether Stale return is enabled. If this feature is enabled, element will not get Evicted according to `WithAge`.
func WithUpdateAgeOnGet ¶
func WithUpdateAgeOnGet() Option
WithUpdateAgeOnGet update expires when Get element