🚀 کشینگ در ASP.NET Core (قسمت ۱):
مبانی و چرا باید اهمیت بدیم؟
یکی از سادهترین و در عین حال قدرتمندترین تکنیکها برای افزایش چشمگیر پرفورمنس اپلیکیشن شما، کشینگ (Caching) هست.
کشینگ یعنی ذخیره موقت دادهها در یک محل سریعتر (معمولاً حافظه RAM). شما معمولاً نتایج عملیاتهای سنگین یا دادههایی که به صورت مکرر بهشون نیاز دارید رو کش میکنید تا در درخواستهای بعدی، به جای مراجعه به منبع اصلی (مثل دیتابیس)، مستقیماً از کش استفاده کنید.
امروز قسمت اول از مینی-سریال جدیدمون رو شروع میکنیم و به مبانی این موضوع حیاتی میپردازیم.
1️⃣ کشینگ چطور پرفورمنس رو بهبود میده؟ ⚡️
🚀 دسترسی سریعتر به دادهها:
دادههای کش شده از حافظه RAM خوانده میشن که هزاران برابر سریعتر از دیتابیس یا یک API خارجیه.
📉 کاهش بار دیتابیس:
با کش کردن دادههایی که زیاد خونده میشن، تعداد کوئریها به دیتابیس به شدت کم میشه و فشار از روی دیتابیس برداشته میشه.
🧠 استفاده کمتر از CPU:
جلوی پردازشهای تکراری و سنگین (مثل ساختن یک صفحه وب پیچیده) رو میگیره.
💪 مقیاسپذیری بیشتر:
برنامه شما میتونه ترافیک بیشتری رو با منابع کمتر مدیریت کنه و به کاربران بیشتری سرویس بده.
2️⃣ ابزارهای کشینگ در ASP.NET Core 🛠
حالا ASP.NET Core دو تا ابزار (اینترفیس) اصلی برای کار با کش در اختیار ما میذاره:
• IMemoryCache:
برای کشینگ درون-حافظهای (In-Memory). دادهها رو در حافظه RAM همون سروری که اپلیکیشن روش اجرا شده، ذخیره میکنه. استفاده ازش خیلی سادهست ولی برای سناریوهایی که چند سرور دارید، مناسب نیست.
• IDistributedCache:
برای کشینگ توزیعشده (Distributed). به شما اجازه میده دادههای کش رو در یک سرور خارجی مثل Redis ذخیره کنید تا بین چندین نمونه (instance) از اپلیکیشن شما به اشتراک گذاشته بشه.
🔖 هشتگها:
#ASPNETCore #Caching