ftp
4 سال پیش توسط ftp مطرح شد
3 پاسخ

کش کردن routeها

@ali.bayat
چرا باید روت ها رو کش کرد ایا در سرعت و پرفورمنس کار تاثیر داره


ثبت پرسش جدید
AriaieBOY
تخصص : TALL Stack Lover
@ariaieboy 4 سال پیش مطرح شد
0

@mehdisut
نگاه کنید کش کردن یک تکنیک هست و جاهای مختلف استفاده میشه.
معمولا جایی که یک پروسه تکراری داره انجام میشه که یک نتیجه یکسان را همش برای شما ارسال کنه میان و از کش استفاده میکنند مثلا چی ؟
مثال ساده میزنم فکر کنید یک تابع دارید به این صورت

function four()
{
return 2+2;
}

و شما این فانکشن را داخل یک لوپ به طور مثال 1000 بار صدا بزنید. چه اتفاقی میوفته ؟ توی هر حلقه باید کامپیوتر بره عدد دو را با دو برگردونه و در نهایت عدد 4 را به شما برگردونه و اینکار برای 1000 بار انجام میده. ولی وقتی ما بدونیم همیشه جمع 2 با 2 میشه 4 میاییم دفعه اول که جمعش محاسبه کردیم این کش میکنیم و دفعات بعدی که این فانکشن صدا بزنیم دیگه بجای اینکه بریم عملیات جمع انجام بدیم مستقیم میریم نتیجه را برمیداریم و استفاده میکنیم. اینجوری منابع کمتری مصرف شده و صد در صد سریعتر هم به جواب رسیدیم.

حالا بحث کش کردن روت ها هم همینه معمولا اینطوری هست که وقتی شما یک پروژه را دپلوی میکنید تا دپلوی بعدی روت های شما تغییر نمیکنه درسته ؟ به خاطر همینم که روت ها همیشه ثابت هست میان یکبار روت ها را میخونن اون عملیات های لازم را روش انجام میدن و یک فایل کش میسازن تا دفعات بعدی بجای اینکه تمام اون عملیات ها انجام بشه از همون فایل استاتیک استفاده کنند.
اگر شما روت هاتون را کش نکنید هردفعه که یک کاربر یک درخواست سمت سرور شما بفرسته تمام اون مراحل تکراری خواندن روت ها تکرار میشه و درنتیجه ریکوئست ها با زمان طولانی تری پاسخ داده میشوند و منابع بیشتری هم از سرور شما گرفته میشه


mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

روت ها وقتی کش میشه به صورت یک فایل Json ذخیره میشه (میتونی پوشه storage رو بعد از کش کردن ببینی) و دیگه نیازی نیست کد php ران بشه! یهو همون فایل json رو میگیره و استفاده میکنه پس سرعت خیلی بالاتری داره.


ftp
تخصص : ساده
@ftp 4 سال پیش مطرح شد
0

@khanzadimahdi
@ali.bayat
متوجه نشدم ایا باید در هر پروژه روت ها رو کش کنیم یا نیاز نیست نمونه مثال میتونید بزنید


AriaieBOY
تخصص : TALL Stack Lover
@ariaieboy 4 سال پیش مطرح شد
0

@mehdisut
نگاه کنید کش کردن یک تکنیک هست و جاهای مختلف استفاده میشه.
معمولا جایی که یک پروسه تکراری داره انجام میشه که یک نتیجه یکسان را همش برای شما ارسال کنه میان و از کش استفاده میکنند مثلا چی ؟
مثال ساده میزنم فکر کنید یک تابع دارید به این صورت

function four()
{
return 2+2;
}

و شما این فانکشن را داخل یک لوپ به طور مثال 1000 بار صدا بزنید. چه اتفاقی میوفته ؟ توی هر حلقه باید کامپیوتر بره عدد دو را با دو برگردونه و در نهایت عدد 4 را به شما برگردونه و اینکار برای 1000 بار انجام میده. ولی وقتی ما بدونیم همیشه جمع 2 با 2 میشه 4 میاییم دفعه اول که جمعش محاسبه کردیم این کش میکنیم و دفعات بعدی که این فانکشن صدا بزنیم دیگه بجای اینکه بریم عملیات جمع انجام بدیم مستقیم میریم نتیجه را برمیداریم و استفاده میکنیم. اینجوری منابع کمتری مصرف شده و صد در صد سریعتر هم به جواب رسیدیم.

حالا بحث کش کردن روت ها هم همینه معمولا اینطوری هست که وقتی شما یک پروژه را دپلوی میکنید تا دپلوی بعدی روت های شما تغییر نمیکنه درسته ؟ به خاطر همینم که روت ها همیشه ثابت هست میان یکبار روت ها را میخونن اون عملیات های لازم را روش انجام میدن و یک فایل کش میسازن تا دفعات بعدی بجای اینکه تمام اون عملیات ها انجام بشه از همون فایل استاتیک استفاده کنند.
اگر شما روت هاتون را کش نکنید هردفعه که یک کاربر یک درخواست سمت سرور شما بفرسته تمام اون مراحل تکراری خواندن روت ها تکرار میشه و درنتیجه ریکوئست ها با زمان طولانی تری پاسخ داده میشوند و منابع بیشتری هم از سرور شما گرفته میشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام