Versions in this module Expand all Collapse all v1 v1.31.1 Nov 2, 2025 v1.31.0 Sep 12, 2025 v1.30.5 Sep 8, 2025 v1.30.4 Sep 8, 2025 v1.30.3 Sep 4, 2025 v1.30.2 Aug 28, 2025 v1.30.1 Jul 23, 2025 v1.30.0 May 25, 2025 v1.26.1 May 7, 2025 v1.26.0 Apr 25, 2025 Changes in this version + type Entry struct + ExpireBucket uint8 + ExpiresAt time.Time + Key K + Value V + func (e *Entry[K, V]) PrevEntry() *Entry[K, V] + type EvictCallback func(key K, value V) + type LRU struct + func NewLRU[K comparable, V any](size int, onEvict EvictCallback[K, V], ttl time.Duration) *LRU[K, V] + func (c *LRU[K, V]) Add(key K, value V) (evicted bool) + func (c *LRU[K, V]) Cap() int + func (c *LRU[K, V]) Contains(key K) (ok bool) + func (c *LRU[K, V]) Get(key K) (value V, ok bool) + func (c *LRU[K, V]) GetOldest() (key K, value V, ok bool) + func (c *LRU[K, V]) KeyValues() map[K]V + func (c *LRU[K, V]) Keys() []K + func (c *LRU[K, V]) Len() int + func (c *LRU[K, V]) Peek(key K) (value V, ok bool) + func (c *LRU[K, V]) Purge() + func (c *LRU[K, V]) Remove(key K) bool + func (c *LRU[K, V]) RemoveOldest() (key K, value V, ok bool) + func (c *LRU[K, V]) Resize(size int) (evicted int) + func (c *LRU[K, V]) Values() []V + type LruList struct + func NewList[K comparable, V any]() *LruList[K, V] + func (l *LruList[K, V]) Back() *Entry[K, V] + func (l *LruList[K, V]) Init() *LruList[K, V] + func (l *LruList[K, V]) Length() int + func (l *LruList[K, V]) MoveToFront(e *Entry[K, V]) + func (l *LruList[K, V]) PushFront(k K, v V) *Entry[K, V] + func (l *LruList[K, V]) PushFrontExpirable(k K, v V, expiresAt time.Time) *Entry[K, V] + func (l *LruList[K, V]) Remove(e *Entry[K, V]) V