LruCache<K extends Object, V extends Object> class

LRU cache (max size, pure Dart). Roadmap #194.

Optional ttl expires entries after the given duration; expired entries are treated as missing on get. Implements Cache so it is swappable with the other eviction policies behind that interface.

Implemented types

Constructors

LruCache(int maxSize, {Duration? ttl})
Creates a cache holding at most maxSize entries (must be positive). When ttl is set, entries expire that long after they were stored. Audited: 2026-06-12 11:26 EDT

Properties

hashCode int
The hash code for this object.
no setterinherited
length int
Current number of entries. Audited: 2026-06-12 11:26 EDT
no setter
maxSize int
Maximum number of entries; oldest is evicted when exceeded. Audited: 2026-06-12 11:26 EDT
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

clear() → void
Removes all entries and resets the cache to empty. Audited: 2026-06-12 11:26 EDT
override
get(K key) → V?
Returns the value for key, or null; promotes key to most recently used. Returns null if the entry has expired (when the cache was created with a TTL). Audited: 2026-06-12 11:26 EDT
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
set(K key, V value) → void
Associates key with value; evicts oldest entry if at capacity. Audited: 2026-06-12 11:26 EDT
override
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited