IwsPersistentCache constructor

IwsPersistentCache({
  1. int? maxSize,
  2. EvictionPolicy evictionPolicy = EvictionPolicy.lru,
  3. 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());
}