Sobes.tech
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.Caching nomlar 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.