From 1742be3ad8f6cf49062270b4d64c4ec5734362b1 Mon Sep 17 00:00:00 2001 From: Jakub Vrbata Date: Mon, 23 Feb 2026 20:14:01 +0100 Subject: [PATCH] Implement clear all cache feature by * tag as described in Microsoft documentation for HybridCache Added functionality to clear all cache entries when the * tag is used. --- .../MicrosoftHybridCache/FusionHybridCache.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ZiggyCreatures.FusionCache/MicrosoftHybridCache/FusionHybridCache.cs b/src/ZiggyCreatures.FusionCache/MicrosoftHybridCache/FusionHybridCache.cs index 40ac8c73..e8213e3c 100644 --- a/src/ZiggyCreatures.FusionCache/MicrosoftHybridCache/FusionHybridCache.cs +++ b/src/ZiggyCreatures.FusionCache/MicrosoftHybridCache/FusionHybridCache.cs @@ -14,6 +14,7 @@ public sealed class FusionHybridCache : HybridCache { private const FusionCacheEntryOptions? NoEntryOptions = null; + private const string ClearAllTag = "*"; private readonly IFusionCache _fusionCache; @@ -99,6 +100,11 @@ public override ValueTask RemoveAsync(string key, CancellationToken cancellation /// public override ValueTask RemoveByTagAsync(string tag, CancellationToken cancellationToken = default) { + if (tag == ClearAllTag) + { + return _fusionCache.ClearAsync(true, NoEntryOptions, cancellationToken); + } + return _fusionCache.RemoveByTagAsync(tag, NoEntryOptions, cancellationToken); }