getStats method
Gets cache usage statistics.
Returns information about hits, misses, size, etc.
Implementation
@override
Future<CacheStats> getStats() async {
final totalSize = _cache.values
.map((entry) => _estimateSize(entry.value))
.fold(0, (sum, size) => sum + size);
final expiredCount = _cache.values.where((entry) => entry.isExpired).length;
return CacheStats(
hits: _hits,
misses: _misses,
itemCount: _cache.length,
totalSizeInBytes: totalSize,
expiredItems: expiredCount,
statsStartTime: _stats.statsStartTime,
);
}