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
close() → Future<void>
Closes 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
getAll(Set<String> keys) → Future<Map<String, T?>>

Available on Stash<T>, provided by the StashExtension extension

Gets the stash values for the specified set of keys
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
putAll(Map<String, T> map) → Future<void>

Available on Stash<T>, provided by the StashExtension extension

Add / Replace the stash values with the specified map of entries.
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
removeAll(Set<String> keys) → Future<void>

Available on Stash<T>, provided by the StashExtension extension

Removes the values stored under a set of keys from this stash
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