Junior — Middle
Кадом усулҳо ё асбобҳоро барои иҷрои кеши кардани маълумотҳо истифода бурдед?
sobes.tech AI
Ҷавоб аз 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
Ин усул миқдори муроҷиатҳо ба базаи маълумотро кам мекунад ва иҷроишро беҳтар мекунад.