asp.net-web-api
Кэширование
Поиск…
замечания
Кэширование - это процесс хранения данных где-то для будущих запросов, в нашем случае мы можем избежать нежелательного попадания в базу данных, чтобы получить данные, если мы будем кэшировать данные где-то, таким образом мы можем убедиться, что данные будут обслуживаться быстрее ,
System.Runtime.Caching (MemoryCache)
Импортируйте пространство имен System.Runtime.Caching (убедитесь, что вы добавили System.Runtime.Caching DLL в ссылку на проект).
Создайте экземпляр класса MemoryCache.
MemoryCache memCache = MemoryCache.Default;
Добавить значения в MemoryCache
public IQueryable<tblTag> GettblTags()
{
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Здесь «тег» - это мой ключ, а «ca» - мои значения, а DateTimeOffset.UtcNow.AddMinutes (5) - для установки кеша в течение пяти минут.
Получить значения из MemoryCache
var res = memCache.Get("tag");
if (res != null)
{
return res;
}
else {
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Мы получим значения кеша в переменной res, помните, что эти значения будут там всего пять минут. Вы всегда можете изменить это по мере необходимости. Если значение не является нулевым, мы просто вернем его и сделаем манипуляцию, и если оно будет нулевым, мы продолжим и извлечем данные из базы данных и добавим значение в кеш.
Удалить значения из MemoryCache
if (memCache.Contains("tag"))
{
memCache.Remove("tag");
}