@override Future<void> set(String key, dynamic value, {Duration? ttl}) async { final expiry = ttl != null ? DateTime.now().add(ttl) : null; _store[key] = _CacheItem(value, expiry); }