کش (cache) در asp چیست؟
کش در asp core روشی است که برای ارائه پاسخ سریعتر به درخواست های دریافتی استفاده می شود. هنگامی که درخواستی برای بازیابی داده ها برای بار دوم انجام می شود، برنامه ها می توانند داده ها را از کش به جای منبع اصلی، مانند پایگاه داده، بازیابی کنند. به این ترتیب دسترسی به داده ها سریعتر خواهد بود. دلیل اصلی این روش این است که دسترسی به کش سریعتر از دسترسی به حافظه انبوه یا حتی RAM است. ما میتوانیم برنامههای سریعتر و کارآمدتر را با استفاده از کش در حافظه توسعه دهیم.کش می تواند به طور قابل توجهی عملکرد و مقیاس پذیری یک برنامه را با کاهش کار مورد نیاز برای تولید محتوا بهبود بخشد.کش با داده هایی که به ندرت تغییر می کنند و تولید آنها پرهزینه است سرو کار دارد..همچنین کش تاثیر بسیار مهمی در سئوی داخلی یا On-Page دارد.
ASP.NET Core از چندین کش مختلف پشتیبانی می کند. ساده ترین کش بر اساس IMemoryCache است IMemoryCache نشان دهنده یک کش ذخیره شده در حافظه وب سرور است.
نحوه پیاده سازی کش در asp
در این آموزش می توانید نحوه پیاده سازی کش در asp.net core 6 را بصورت مرحله به مرحله بیاموزید.
ابتدا بوسیله Visual Studio یا VsCode یک پروژه Asp.Net Core 6 بصورت Mvc ایجاد می نماییم.
اولین مرحله پیاده سازی کش در asp.net core ایجاد یک اینترفیس جنریک برای پشتیبانی از انواع داده می باشد.توابع مورد نیاز خود را در این اینترفیس معرفی و سپس به پیاده سازی آن ها می پردازیم.
در تکه کد زیر می توانید اینترفیس مورد نظر و توابع مورد نیاز را مشاهده کنید.
دومین مرحله پیاده سازی توابع اینترفیس بالا می باشد. نحوه پیاده سازی این توابع را در تکه کد زیر می توانید مشاهده کنید.
بعد از معرفی اینترفیس و پیاده سازی آن باید سرویس خود را در program.cs به container سرویس ها اضافه کنیم.در تکه کد زیر میتوانید نحوه افزدون سرویس به container در asp.net core 6 را مشاهده کنید.
نحوه استفاده از کش در asp
سومین مرحله استفاده از سرویس مورد نظر است.در تکه کد زیر می توانید نحوه استفاده از کش را مشاهده کنید. ابتدا تزریق وابستگی مربوط به سرویس ما انجام شده است و سپس در کنترلر Index یک لیست از رشته ها کش و به view مورد نظر ارسال میشود.
نحوه عملکرد کش به این صورت است که متد GetAsync ابتدا با توجه به کلید مورد نظر اگر بتواند داده های مورد نظر را پیدا میکند و برمی گرداند و در صورتی که این داده ها در کش موجود نباشد و یا زمان کش منقضی شده باشد آن ها را به مدت 10 ثانیه کش و سپس بر میگرداند.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید