c# – 在HttpContext.Cache中搜索时使用通配符

有没有办法使用通配符或正则表达式从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您无法删除基于通配符的项目,因为您需要特定的密钥. (请证明我错了)

点赞