CodeShot
Seniorسختی 4 از ۵· در 15٪ مصاحبه‌های این حوزه پرسیده شده

چرا Cache Invalidation یکی از سخت‌ترین مسائل مهندسی نرم‌افزار دانسته می‌شود؟

نشان کردن

پاسخ کوتاه

چون تعیین دقیق زمان و شرایط باطل‌شدن یک داده کش‌شده، بدون نمایش داده قدیمی یا فشار بیش‌ازحد به دیتابیس، پیچیده است.

پاسخ کامل

اگر TTL خیلی کوتاه باشد، مزیت کش از بین می‌رود؛ اگر خیلی طولانی باشد، ریسک نمایش داده قدیمی (Stale Data) بالا می‌رود. در سیستم‌های توزیع‌شده، Invalidate کردن هم‌زمان کش روی چند سرور پیچیدگی بیشتری هم اضافه می‌کند.

نکته مهم

جملهٔ معروف فیل کارلتون را بشناسید: «فقط دو چیز سخت در علوم کامپیوتر وجود دارد: Cache Invalidation و نام‌گذاری چیزها».