Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cacher ¶
type Cacher[K comparable, V any] interface { // Put inserts an element into the cache. If space is required, elements will // be evicted. Put(key K, value V) // Get returns the entry in the cache with the key specified, if no value // exists, false is returned. Get(key K) (V, bool) // Evict removes the specified entry from the cache Evict(key K) // Flush removes all entries from the cache Flush() // Returns the number of elements currently in the cache Len() int // Returns fraction of cache currently filled (0 --> 1) PortionFilled() float64 }
Cacher acts as a best effort key value store.
func NewSizedLRU ¶ added in v1.1.11
func NewSizedLRU[K comparable, V any](maxSize int, size func(K, V) int) Cacher[K, V]
type Empty ¶ added in v0.1.1
func (*Empty[_, _]) PortionFilled ¶ added in v0.1.1
type LRU ¶
type LRU[K comparable, V any] struct { // If set to <= 0, will be set internally to 1. Size int // contains filtered or unexported fields }
LRU is a key value store with bounded size. If the size is attempted to be exceeded, then an element is removed from the cache before the insertion is done, based on evicting the least recently used value.
func (*LRU[_, _]) PortionFilled ¶ added in v1.1.11
Click to show internal directories.
Click to hide internal directories.