Sobes.tech
Back to questions
Junior — Middle
71

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

Companies where asked
Банк ПСБ

Answer from AI

sobes.tech AI

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

  • MemoryCache из пространства имён System.Runtime.Caching для кэширования данных в памяти приложения.
  • Distributed Cache (например, 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