TieredCache<T> class

Tiered implementation of the Cache interface allowing the assignement of a primary and secondary caches. It was designed to be used with a primary Cache bound to a fast store and a secondary cache bound to a persistent store implementation

Implemented types
Available extensions

Constructors

TieredCache(Cache<T> _primary, Cache<T> _secondary, {CacheManager? manager, String? name, Clock? clock, bool? statsEnabled, CacheStats? stats})
Builds a TieredCache with a primary and a secondary cache

Properties

clock → Clock
The source of time to be used on this cache
final
hashCode int
The hash code for this object.
no setterinherited
keys Future<Iterable<String>>
Returns a Iterable over all the Stash keys
no setteroverride
manager CacheManager?
Gets the CacheManager that owns and manages the Cache. Returns the manager or null if the Cache is not managed
final
name String
The name of the stash
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size Future<int>
The number of entries on the stash
no setteroverride
stats CacheStats
final
statsEnabled bool
final

Methods

clear() Future<void>
Clears the contents of the stash
override
containsKey(String key) Future<bool>
Determines if the Stash contains an entry for the specified key.
override
get(String key, {CacheEntryDelegate<T>? delegate}) Future<T?>
Returns the cache value for the specified key.
override
getAndPut(String key, T value, {CacheEntryDelegate<T>? delegate}) Future<T?>
Associates the specified value with the specified key in this cache, returning an existing value if one existed. If the cache previously contained a mapping for the key, the old value is replaced by the specified value.
override
getAndRemove(String key) Future<T?>
Removes the entry for a key only if currently mapped to some value.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
on<E extends CacheEvent<T>>() Stream<E>
Listens for events of Type T and its subtypes.
override
put(String key, T value, {CacheEntryDelegate<T>? delegate}) Future<void>
Add / Replace the cache value for the specified key.
override
putIfAbsent(String key, T value, {CacheEntryDelegate<T>? delegate}) Future<bool>
Associates the specified key with the given value if not already associated with a value.
override
remove(String key) Future<void>
Removes the value stored under a key from this stash if present.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited
operator [](String key) Future<T?>
Get the stash value for the specified key.
override