CodeShot
Juniorسختی 2 از ۵· در 30٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت IMemoryCache و Distributed Cache چیست؟

نشان کردن

پاسخ کوتاه

IMemoryCache درون فرآیند اپلیکیشن است و بین چند Instance مشترک نیست؛ Distributed Cache (مثل Redis) بین چند سرور به اشتراک می‌رود.

پاسخ کامل

در یک اپلیکیشن با چند Instance پشت Load Balancer، اگر از IMemoryCache استفاده کنید، هر سرور نسخهٔ جدای خودش از کش را دارد که می‌تواند ناسازگاری داده ایجاد کند؛ Distributed Cache این مشکل را با یک منبع کش مشترک حل می‌کند.

اشتباه رایج

استفاده از IMemoryCache در یک سیستم چند-Instance با این فرض غلط که همهٔ سرورها یک کش یکسان می‌بینند.