Back to questions
Junior — Middle
62
Какие подходы или инструменты вы применяли для реализации кеширования данных?
Answer from AI
sobes.tech AI
Для кеширования данных в C# часто применяю несколько подходов:
-
MemoryCache из пространства имен
System.Runtime.Caching— для локального кеша в памяти приложения. Позволяет задать время жизни кеша, приоритеты и т.д. -
IMemoryCache и IDistributedCache из ASP.NET Core — для кеширования в веб-приложениях. IMemoryCache — локальный кеш, IDistrubutedCache — для распределенного кеша (например, Redis).
-
Внешние кеш-системы, такие как Redis или Memcached, для масштабируемого и распределенного кеширования.
Пример использования MemoryCache:
using System.Runtime.Caching;
var cache = MemoryCache.Default;
string cacheKey = "user_123";
var user = cache.Get(cacheKey) as User;
if (user == null)
{
user = GetUserFromDatabase(123); // метод получения из БД
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// используем user
Такой подход уменьшает количество обращений к базе данных и повышает производительность.