تبدیل بخشی از Page به tagهای HTML برای کم کردن حجم کاری سرور
با سلام
آیا میشه برای اینکه کمتر به دیتابیس رجوع کنیم بخشی از page رو که ثابت هست مثل تبلیغات و ... رو در زمان Update یا Insert یا (در یه بازه زمانی خاص مثل 2 تا 4 صبح در صورت نیاز فایل رو حذف و دوباره ایجاد کنیم) به tag های HTML تبدیل کرد و در یه PartialView ذخیره کرد. و از این PartialView استفاده کرد؟
آیا بهینه هست؟
فرض کنید حجم در خواست های سرور خیلی زیاد هست. و این کار رو فقط واسه کم کردن حجم کار سرور انجام خواهیم داد.
نقل قول: تبدیل بخشی از Page به tagهای HTML برای کم کردن حجم کاری سرور
نقل قول:
نوشته شده توسط
Wily_Fox
با سلام
آیا میشه برای اینکه کمتر به دیتابیس رجوع کنیم بخشی از page رو که ثابت هست مثل تبلیغات و ... رو در زمان Update یا Insert یا (در یه بازه زمانی خاص مثل 2 تا 4 صبح در صورت نیاز فایل رو حذف و دوباره ایجاد کنیم) به tag های HTML تبدیل کرد و در یه PartialView ذخیره کرد. و از این PartialView استفاده کرد؟
آیا بهینه هست؟
فرض کنید حجم در خواست های سرور خیلی زیاد هست. و این کار رو فقط واسه کم کردن حجم کار سرور انجام خواهیم داد.
راه صحیح اینست که PartialView مربوطه را Cache کنید.
[ActionOutputCache(60)] // Caches for 60 seconds
برای اطلاعات بیشتر این لینک را ملاحظه فرمایید.
نقل قول: تبدیل بخشی از Page به tagهای HTML برای کم کردن حجم کاری سرور
در صورتی که از Ajax استفاده کنیم آیا باز نیازی به کش کردن هست؟
آیا Ajax حجم درخواست های سمت سرور رو به حداقل می رسونه؟
نقل قول: تبدیل بخشی از Page به tagهای HTML برای کم کردن حجم کاری سرور
نقل قول:
نوشته شده توسط
Wily_Fox
در صورتی که از Ajax استفاده کنیم آیا باز نیازی به کش کردن هست؟
آیا Ajax حجم درخواست های سمت سرور رو به حداقل می رسونه؟
Ajax حجم اطلاعات مبادله شده سمت کلاینت را کاهش می دهد، در حالی که Cache کردن اطلاعات موجب کاهش بار روی سرور شده و در پاسخ به درخواستهای مشابه در بازه های زمانی و شرایط تعریف شده، بجای پردازش چند باره ی درخواست، نتیجه پردازش قبلی را ارسال می کند.
نقل قول: تبدیل بخشی از Page به tagهای HTML برای کم کردن حجم کاری سرور
من یه مدل دارم به شرح زیر:
public class HomePageViewModel
{
public IEnumerable<Slider> S_Models { set; get; }
public IEnumerable<Advertisement> A_Models { set; get; }
public OwnAdertisement O_Model { set; get; }
public IEnumerable<TabControl> T_Models { set; get; }
public IEnumerable<News> N_Models { set; get; }
public IEnumerable<MenuBottom> MB_Models { set; get; }
}
در HomeController اون رو پر می کنم. دفعه بعدی که کاربر درخواست بفرسته در واقع فقط N_Models هستش که با درخواست کاربر تغییراتی توش داده میشه و اون رو پر خواهیم کرد. یعنی بقیه قسمت ها دقیقا مثل قبل پر میشه.
حالا سوال اینجاست: من این مدل رو هر دفعه به این شکل پر می کنم و ارسال می کنم. کدام قسمت از این مدل رو کش کنم؟ مدل که یه بخش واحد هست و نمیشه اون تکه تکه کرد.
آیا مدل رو به دو مدل دیگه تقسیم کنم و مدل پایه رو کش کنم؟ چگونه؟
متشکرم