invalidateQueriesByPattern method

void invalidateQueriesByPattern(
  1. String pattern
)

Invalidate all queries whose keys match a glob-style pattern.

Supports * as a wildcard anywhere in the pattern:

// All user entity queries:
Zen.queryCache.invalidateQueriesByPattern('user:*');

// All comment sub-queries regardless of entity:
Zen.queryCache.invalidateQueriesByPattern('*:comments');

// Any key containing 'feed':
Zen.queryCache.invalidateQueriesByPattern('*feed*');

Implementation

void invalidateQueriesByPattern(String pattern) {
  final matches = _matchPattern(pattern);
  int count = 0;
  for (final key in matches) {
    final query = _queries[key];
    if (query != null && !query.isDisposed) {
      query.invalidate();
      count++;
    }
  }
  ZenLogger.logDebug('Invalidated $count queries matching pattern: $pattern');
}