/// <summary> /// Syncronous version of RemoveCacheByGroupAsync /// </summary> /// <param name="cache"></param> /// <param name="group"></param> public static void RemoveCacheByGroup(this IDistributedCache cache, string group) { string[] keyList = cache.GetKeyGroup(group); if (keyList.Length > 0) { foreach (string key in keyList) { cache.Remove(key); } } }
/// <summary> /// Asyncronously removes all key-value stores of a group in Redis /// </summary> /// <param name="cache"></param> /// <param name="group"></param> /// <param name="token"></param> /// <returns></returns> // Clear all cache by group public static async Task RemoveCacheByGroupAsync(this IDistributedCache cache, string group, CancellationToken token = default(CancellationToken)) { token.ThrowIfCancellationRequested(); string[] keyList = cache.GetKeyGroup(group); if (keyList.Length > 0) { foreach (string key in keyList) { await cache.RemoveAsync(key); } } }