getStats method
Get cache statistics
Implementation
CacheStats getStats() {
final validEntries = _memoryCache.values.where((e) => e.isValid).toList();
final totalSize = validEntries.fold<int>(
0,
(sum, entry) => sum + entry.content.length,
);
return CacheStats(
entryCount: validEntries.length,
totalSizeBytes: totalSize,
hitRate: _calculateHitRate(),
oldestEntry: validEntries.isNotEmpty
? validEntries
.map((e) => e.cachedAt)
.reduce((a, b) => a.isBefore(b) ? a : b)
: null,
newestEntry: validEntries.isNotEmpty
? validEntries
.map((e) => e.cachedAt)
.reduce((a, b) => a.isAfter(b) ? a : b)
: null,
);
}