Sobes.tech
Junior — Middle

Какви методи или инструменти използвахте за реализиране на кеширане в проектите си?

sobes.tech AI

Отговор от AI

За реализиране на кеширане в проекти на C# използвах няколко подхода и инструменти:

  • MemoryCache от пространството имена System.Runtime.Caching за кеширане на данни в паметта на приложението.
  • Разпределен кеш (например Redis) за кеширане в разпределена среда, което е полезно при мащабиране.
  • Използване на атрибути за кеширане в ASP.NET Core, като [ResponseCache] за кеширане на HTTP отговори.
  • Реализиране на собствен слой за кеширане с използване на речници и таймаути за специфични задачи.

Пример за използване на MemoryCache:

using System.Runtime.Caching;

MemoryCache cache = MemoryCache.Default;
string cacheKey = "user_123";
var userData = cache.Get(cacheKey);
if (userData == null)
{
    userData = GetUserFromDatabase(123); // метод за получаване на данни
    cache.Set(cacheKey, userData, DateTimeOffset.Now.AddMinutes(10));
}
// Използване на userData