Длительный прослушиватель - первый раз. Я надеюсь получить совет. Я читал о кешировании в .net - как с System.Web.Caching, так и с System.Runtime.Caching. Мне интересно, какие дополнительные преимущества я могу получить, просто создавая статическую переменную с блокировкой. Мой текущий (простой подход) метод кэширования выглядит следующим образом:
public class Cache
{
private static List<Category> _allCategories;
private static readonly object _lockObject = new object();
public static List<Category> AllCategories
{
get
{
lock (_lockObject)
{
if (_allCategories == null)
{
_allCategories = //DB CALL TO POPULATE
}
}
return _allCategories;
}
}
}
Помимо истечения срока действия (и я бы не хотел, чтобы это истекал), я затрудняюсь понять, в чем преимущество использования встроенного кэширования.
Возможно, есть преимущества для более сложных сценариев кеширования, которые не применимы ко мне - или, может быть, я просто что-то пропустил (не будет в первый раз).
Итак, в чем преимущество использования кеша, если я хочу, чтобы кеш никогда не заканчивался? Не статические переменные делают это?