DataCacheX class
The main class for interacting with the cache.
DataCacheX
provides methods for storing, retrieving, and deleting data.
It uses a CacheAdapter to handle the underlying storage.
Example:
Assuming you have a HiveAdapter instance
final hiveAdapter = HiveAdapter(typeAdapterRegistry);
await hiveAdapter.init();
// Create a DataCacheX instance
final dataCache = DataCacheX(hiveAdapter);
// Store a value
await dataCache.put('name', 'John Doe', expiry: Duration(seconds: 30));
// Retrieve a value
final name = await dataCache.get('name');
print(name); // Output: John Doe
// Delete a value
await dataCache.delete('name');
// Clear the cache
await dataCache.clear();
Constructors
- DataCacheX.new(CacheAdapter _cacheAdapter, {CacheAnalytics? analytics, int? maxSize, int? maxItems, EvictionStrategy evictionStrategy = EvictionStrategy.lru, int compressionLevel = 6})
- Creates a new instance of DataCacheX.
Properties
- analytics → CacheAnalytics
-
Gets the cache analytics instance.
no setter
- averageItemSize → double
-
Gets the average size of items in the cache.
no setter
- eviction → CacheEviction?
-
Gets the cache eviction strategy.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- hitCount → int
-
Gets the number of cache hits.
no setter
- hitRate → double
-
Gets the cache hit rate.
no setter
-
largestItems
→ List<
MapEntry< String, int> > -
Gets the largest items in the cache.
no setter
- missCount → int
-
Gets the number of cache misses.
no setter
-
mostFrequentlyAccessedKeys
→ List<
MapEntry< String, int> > -
Gets the most frequently accessed keys.
no setter
-
mostRecentlyAccessedKeys
→ List<
MapEntry< String, DateTime> > -
Gets the most recently accessed keys.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- totalSize → int
-
Gets the total size of all items in the cache (estimated).
no setter
Methods
-
clear(
) → Future< void> - Clears all data from the cache.
-
containsKey(
String key) → Future< bool> -
Checks if the cache contains a value associated with the given
key
. -
delete(
String key) → Future< void> -
Deletes the value associated with the given
key
. -
deleteAll(
List< String> keys) → Future<void> -
Deletes multiple values associated with the given
keys
. -
deleteByTag(
String tag) → Future< void> - Deletes all items in the cache that have the specified tag.
-
deleteByTags(
List< String> tags) → Future<void> - Deletes all items in the cache that have all the specified tags.
-
get<
T> (String key, {Future< T> refreshCallback()?, CachePolicy? policy}) → Future<T?> -
Retrieves the value associated with the given
key
. -
getAll<
T> (List< String> keys, {Map<String, Future< ? refreshCallbacks, CachePolicy? policy}) → Future<T> Function()>Map< String, T> > -
Retrieves multiple values associated with the given
keys
. -
getAnalyticsSummary(
) → Map< String, dynamic> - Gets a summary of the cache analytics.
-
getAsync<
T> (String key, {Future< T> refreshCallback()?, CachePolicy? policy}) → Future<T?> -
Retrieves the value associated with the given
key
asynchronously. -
getByTag<
T> (String tag, {CachePolicy? policy}) → Future< Map< String, T> > - Retrieves all values associated with the given tag.
-
getByTags<
T> (List< String> tags, {CachePolicy? policy}) → Future<Map< String, T> > - Retrieves all values associated with all the given tags.
-
getKeysByTag(
String tag, {int? limit, int? offset}) → Future< List< String> > - Returns a list of all keys in the cache that have the specified tag.
-
getKeysByTags(
List< String> tags, {int? limit, int? offset}) → Future<List< String> > - Returns a list of all keys in the cache that have all the specified tags.
-
invalidate(
String key) → Future< void> -
Invalidates the cache entry associated with the given
key
. -
invalidateWhere(
bool test(String key, dynamic value)) → Future< void> -
Invalidates cache entries that match the given
test
condition. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
put<
T> (String key, T value, {Duration? expiry, Duration? slidingExpiry, CachePolicy? policy, Set< String> ? tags}) → Future<void> -
Stores a
value
in the cache with the givenkey
. -
putAll<
T> (Map< String, T> entries, {Duration? expiry, Duration? slidingExpiry, CachePolicy? policy, Set<String> ? tags}) → Future<void> - Stores multiple values in the cache with the given keys.
-
putAsync<
T> (String key, T value, {Duration? expiry, Duration? slidingExpiry, CachePolicy? policy}) → Future< void> -
Stores a value in the cache with the given
key
asynchronously. -
resetMetrics(
) → void - Resets the cache metrics.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited