Я создаю веб-сайт, основанный на ASP.NET/Umbraco, который является очень персонализированным, управляемым данными через инфраструктуру сущности, нам приходится кэшировать довольно много запросов данных (например, поиск по ключевым словам), поскольку он занят сайтом.
Но когда пользователь создает новую запись данных, мне нужно очистить все кешированные запросы (поиск и т.д.), чтобы новая запись была доступна в результатах.
Итак, в моих методах создания, удаления и обновления я вызываю следующий метод:
public static void ClearCacheItems()
{
var enumerator = HttpContext.Current.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
HttpContext.Current.Cache.Remove(enumerator.Key.ToString());
}
}
Это действительно плохо? Я не вижу, как еще я должен очистить кешированные элементы?