cacheData static method
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));
}