set method

void set(
  1. String key,
  2. T data, {
  3. Duration? ttl,
})

Set cached data

Implementation

void set(String key, T data, {Duration? ttl}) {
  final expiresAt = ttl != null || strategy.ttl.inSeconds > 0
      ? DateTime.now().add(ttl ?? strategy.ttl)
      : null;

  final cached = CachedData<T>(
    data: data,
    expiresAt: expiresAt,
  );

  // Evict if necessary
  if (_cache.length >= strategy.maxSize) {
    _evict();
  }

  _cache[key] = cached;
  _accessFrequency[key] = 1;
}