مرور سریع Caching در .NET
استراتژیهای کش کردن داده برای کاهش فشار روی دیتابیس و افزایش سرعت پاسخ.
فهرست بخشها
انواع کش0/2
In-Memory در برابر Distributed.
csharp\n_cache.Set(""key"", value, TimeSpan.FromMinutes(5));\n
استفاده از IMemoryCache در یک اپلیکیشن با چند Instance و انتظار اینکه همهٔ سرورها یک کش مشترک ببینند.
csharp\nbuilder.Services.AddStackExchangeRedisCache(o => o.Configuration = ""localhost:6379"");\n
استراتژیها و مشکلات رایج0/2
Invalidation و مشکلات همزمانی.
csharp\nvar data = await cache.GetOrCreateAsync(key, () => db.GetDataAsync());\n
مکالمهٔ مصاحبهای رایج: تفاوت Cache-Aside با Write-Through — در Write-Through هر نوشتن همزمان کش و دیتابیس را بهروز میکند.
جملهٔ معروف فیل کارلتون: «فقط دو چیز سخت در علوم کامپیوتر وجود دارد: Cache Invalidation و نامگذاری چیزها» — این جوک را در مصاحبه به کار ببرید.
کشکردن داده بدون هیچ TTL یا استراتژی Invalidation، که منجر به نمایش دادههای قدیمی (Stale Data) میشود.
