有没有办法使用通配符或正则表达式从HttpContext.Cache中搜索和删除项目?
我可以在我的缓存“item_1”,“item_2”,…,“item_n”中,我想从缓存中删除与模式“item_ *”的键相关的所有值.如何在不检查项目是否存在的情况下实现,然后将其删除?
例如:
代替:
HttpContext.Current.Cache.Remove("item_1")
HttpContext.Current.Cache.Remove("item_2")
HttpContext.Current.Cache.Remove("item_3")
我想要的东西:
HttpContext.Current.Cache.Remove("item_*")
最佳答案 你可以循环这样的项目:
foreach(var key in HttpContext.Current.Cache)
{
if (key.StartsWith("item_"))
{
// remove the corresponding item here.
}
}
基本样本,需要一些调整以匹配您的实现.
AFAIK您无法删除基于通配符的项目,因为您需要特定的密钥. (请证明我错了)