CodeShot
Midسختی 3 از ۵· در 25٪ مصاحبه‌های این حوزه پرسیده شده

الگوی Cache-Aside را توضیح دهید.

نشان کردن

پاسخ کوتاه

ابتدا از کش می‌خوانید؛ اگر نبود، از دیتابیس می‌خوانید و نتیجه را در کش می‌گذارید؛ هنگام نوشتن، دیتابیس به‌روز و کش Invalidate می‌شود.

پاسخ کامل

این رایج‌ترین الگوی کشینگ در برنامه‌های وب است چون کنترل کامل روی این‌که چه چیزی و چه زمانی کش شود به اپلیکیشن می‌دهد، برخلاف Write-Through که هر نوشتن هم‌زمان کش را هم به‌روز می‌کند.

مثال کد

csharp\nvar data = await cache.GetOrCreateAsync(key, () => db.GetDataAsync());\n