使用 contains 关键字删除所有缓存

Remove all caches using contains keyword

这就是我创建缓存键的方式

string cachekey_base = "IR_";
string symbol = "AUD";
static string id = "12345";

string cacheKey_Quote = $"{cachekey_base}{symbol}{id}Quote";

id 是随机生成的,所以如果我知道 id 那么只需像这样删除缓存

    MemoryCache.Default.Remove(key);

但问题是Id可以是任意随机数。

那么有没有办法使用 contains 关键字删除。

例如,在我的例子中,如果键包含`"IR_"

,则删除所有缓存

如有任何帮助或建议,我们将不胜感激。

提前致谢`

您可以过滤要删除的键,然后遍历这些键并删除它们 如下:

var removedKeys = MemoryCache.Default.Where( x=> x.Key.Contains("IR_")).Select(x=> x.Key).ToList();
foreach(var key in removedKeys)
    MemoryCache.Default.Remove(key);