Junior — Middle
Ma'lumotlarni kesh qilish uchun qanday yondashuvlar yoki vositalardan foydalandingiz?
sobes.tech AI
AIdan javob
C# da ma'lumotlarni keshga olish uchun men ko'pincha bir nechta yondashuvlardan foydalanaman:
-
MemoryCache
System.Runtime.Cachingnomlar space dan — ilova ichidagi mahalliy kesh uchun. Keshning yashash vaqtini, ustuvorliklarini va boshqalarni belgilash imkonini beradi. -
IMemoryCache va IDistributedCache ASP.NET Core dan — veb ilovalarda kesh uchun. IMemoryCache mahalliy kesh, IDistributedCache tarqalgan kesh uchun (masalan, Redis).
-
Redis yoki Memcached kabi tashqi kesh tizimlari, kengaytiriladigan va tarqalgan kesh uchun.
MemoryCache dan foydalanish misoli:
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); // ma'lumotlar bazasidan olish metodi
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// user dan foydalanamiz
Bu yondashuv ma'lumotlar bazasiga bo'lgan murojaatlarni kamaytiradi va ishlashni yaxshilaydi.