IwsPersistentCache constructor
IwsPersistentCache({
- int? maxSize,
- EvictionPolicy evictionPolicy = EvictionPolicy.lru,
- Duration cleanupInterval = const Duration(minutes: 5),
Creates a new persistent cache instance.
maxSize - Maximum number of elements to store. If null, no limit.
evictionPolicy - Policy to use when cache reaches max size.
cleanupInterval - Interval for automatic cleanup of expired entries.
Implementation
IwsPersistentCache({
int? maxSize,
EvictionPolicy evictionPolicy = EvictionPolicy.lru,
Duration cleanupInterval = const Duration(minutes: 5),
}) : _maxSize = maxSize,
_evictionPolicy = evictionPolicy {
_stats = CacheStats(
hits: 0,
misses: 0,
itemCount: 0,
totalSizeInBytes: 0,
expiredItems: 0,
statsStartTime: DateTime.now(),
);
// Initialize async
_initialize();
// Start periodic cleanup timer
_cleanupTimer = Timer.periodic(cleanupInterval, (_) => evictExpired());
}