cacheData static method

Future<void> cacheData(
  1. String key,
  2. dynamic data, {
  3. Duration? ttl,
})

Cache data with optional TTL (Time To Live)

Implementation

static Future<void> cacheData(String key, dynamic data,
    {Duration? ttl}) async {
  _ensureInitialized();

  final cacheItem = {
    'data': data,
    'timestamp': DateTime.now().millisecondsSinceEpoch,
    'ttl': ttl?.inMilliseconds,
  };

  await _prefs!.setString(key, jsonEncode(cacheItem));
}