Midسختی 3 از ۵· در 25٪ مصاحبههای این حوزه پرسیده شده
الگوی Cache-Aside را توضیح دهید.
☆نشان کردنپاسخ کوتاه
ابتدا از کش میخوانید؛ اگر نبود، از دیتابیس میخوانید و نتیجه را در کش میگذارید؛ هنگام نوشتن، دیتابیس بهروز و کش Invalidate میشود.
پاسخ کامل
این رایجترین الگوی کشینگ در برنامههای وب است چون کنترل کامل روی اینکه چه چیزی و چه زمانی کش شود به اپلیکیشن میدهد، برخلاف Write-Through که هر نوشتن همزمان کش را هم بهروز میکند.
مثال کد
csharp\nvar data = await cache.GetOrCreateAsync(key, () => db.GetDataAsync());\n
