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

标签 c# .net caching c#-4.0 memcached

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

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);

关于c# - 使用 contains 关键字删除所有缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56163283/

相关文章:

c# - 有没有一种方法可以在 TreeView.Nodes 集合中搜索 TreeNode.Text 字段?

c# - 安装 Visual Studio 2015 更新 1 给我很多 : "package did not load correctly"

c# - Asp.Net MVC,从数据库动态加载图像 - 图像闪烁

c++ - 将 C++ 库移植到 .NET

c# - 如果不指定容量,将 N 个元素插入 List<T> 的复杂度顺序是什么?

iOS 从 UIWebView 缓存内容

c# - 使用 ExecuteNonQueryAsync 和报告进度

c# - 命名空间 'Management' 中不存在类型或命名空间名称 'MicrosoftSqlServer' 您是否缺少程序集引用

php - 动态创建的样式表不(总是)更新,导致样式闪烁

php - 电子邮件的动态图像,例如倒计时时钟(根据 gmail 图像缓存)