Самый эффективный способ очистки кеша с помощью ASP.NET

Я создаю веб-сайт на базе ASP.NET/Umbraco, который содержит очень настраиваемые данные, управляемые через структуру сущностей, нам приходится кэшировать довольно много запросов данных (для Например, поиск по ключевому слову), так как это загруженный сайт.

Но когда пользователь создает новую запись данных, мне нужно очистить все кэшированные запросы (поиски и т. д.), чтобы новая запись была доступна в результатах.

Итак, в моих методах создания, удаления и обновления я вызываю следующий метод:

public static void ClearCacheItems()
{
    var enumerator = HttpContext.Current.Cache.GetEnumerator();

    while (enumerator.MoveNext())
    {
        HttpContext.Current.Cache.Remove(enumerator.Key.ToString());
    }
}

Это действительно плохо? Я не вижу, как еще я должен очистить кешированные элементы?

19
задан leen3o 2 June 2011 в 09:27
поделиться