Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache interface { // Get retrieves an element based on a key, returning nil if the element // does not exist Get(key string) interface{} // Put adds an element to the cache, returning the previous element Put(key string, value interface{}) interface{} // Delete deletes an element in the cache Delete(key string) // Size returns the number of entries currently stored in the Cache Size() int }
A Cache is a generalized interface to a cache. See cache.LRU for a specific implementation (bounded cache with LRU eviction)
func NewLRU ¶
NewLRU creates a new LRU cache of the given size, setting initial capacity to the max size
func NewLRUWithInitialCapacity ¶
NewLRUWithInitialCapacity creates a new LRU cache with an initial capacity and a max size
type Options ¶
type Options struct { // TTL controls the time-to-live for a given cache entry. Cache entries that // are older than the TTL will not be returned TTL time.Duration // InitialCapacity controls the initial capacity of the cache InitialCapacity int // RemovedFunc is an optional function called when an element // is scheduled for deletion RemovedFunc RemovedFunc }
Options control the behavior of the cache
type RemovedFunc ¶
type RemovedFunc func(interface{})
RemovedFunc is a type for notifying applications when an item is scheduled for removal from the Cache. If f is a function with the appropriate signature and i is the interface{} scheduled for deletion, Cache calls go f(i)
Click to show internal directories.
Click to hide internal directories.