clearByPrefix method

Future<int> clearByPrefix(
  1. String prefix
)

按前缀清理缓存

Implementation

Future<int> clearByPrefix(String prefix) async {
  final db = await _resolveDatabase();
  if (db == null) {
    return 0;
  }

  try {
    final records = await _store.find(db);
    final keysToDelete = records
        .where((record) => record.key.startsWith(prefix))
        .map((record) => record.key)
        .toList();

    for (final key in keysToDelete) {
      await _store.record(key).delete(db);
    }

    LogUtil.v(
        'RxNetDataBase: Cleared ${keysToDelete.length} records with prefix "$prefix"');
    return keysToDelete.length;
  } catch (error, stacktrace) {
    LogUtil.v('RxNetDataBase: clearByPrefix error: $error\n$stacktrace');
    return 0;
  }
}