Documentation ¶
Overview ¶
Package lru implements an LRU cache.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache[Key comparable, Value any] struct { // MaxEntries is the maximum number of cache entries before // an item is evicted. Zero means no limit. MaxEntries int // contains filtered or unexported fields }
Cache is an LRU cache. It is not safe for concurrent access.
func New ¶
func New[Key comparable, Value any](maxEntries int) *Cache[Key, Value]
New creates a new Cache. If maxEntries is zero, the cache has no limit and it's assumed that eviction is done by the caller.
func (*Cache[Key, Value]) Add ¶
func (c *Cache[Key, Value]) Add(key Key, value Value)
Add adds a value to the cache.
func (*Cache[Key, Value]) Clear ¶
func (c *Cache[Key, Value]) Clear()
Clear purges all stored items from the cache.
func (*Cache[Key, Value]) Remove ¶
func (c *Cache[Key, Value]) Remove(key Key)
Remove removes the provided key from the cache.
func (*Cache[Key, Value]) RemoveOldest ¶
func (c *Cache[Key, Value]) RemoveOldest()
RemoveOldest removes the oldest item from the cache.
Click to show internal directories.
Click to hide internal directories.