PDA

View Full Version : سوال: کش کردن صفحات وب سایت



soroush.r70
چهارشنبه 18 مرداد 1391, 13:18 عصر
من یه اسکریپت برای کش کردن وب سایت گیر اوردم دوستان می تونن یه توضیح در مورد این اسکریپت و اینکه این فایلی که در این اسکریپت در پوشه cache وجود دارد در واقع چی هست و چطوری باید ازش استفاده کرد..؟


<?php
....
$cacheFile=$_SERVER['DOCUMENT_ROOT']."/cache/id".$_GET["id"].".html";

if (file_exists($cacheFile)) //we can read this cache file back reduce database load
{
header("Content-Type: text/html");
readfile($cacheFile);
exit;
} else {
ob_start(); //start buffering so we can cache for future accesses
}
...
?>

<html><body>
DO THE HTML RENDERING HERE
</body></html>

<?php

// get the buffer
$buffer = ob_get_contents();

// end output buffering, the buffer content
// is sent to the client
ob_end_flush();

// now we create the cache file
$fp = fopen($cacheFile, "w");
fwrite($fp, $buffer);
fclose($fp);
?>


در ضمن آیا اسکریپت مفیدی می تونه باشه یا نه...؟

AbiriAmir
چهارشنبه 18 مرداد 1391, 13:57 عصر
1 اسکریپت مبتدی هست
کارش اینه که خروجی شما رو در 1 فایل ذخیره میکنه و اگر اون فایل وجود داشت دیگه عملیاتی انجام نمیده و همون فایل رو نمایش میده
اما کاربردی نیست
چون cache باید بعد از مدت معینی expire بشه که این کد این کار رو نمیکنه

tehro0n
چهارشنبه 18 مرداد 1391, 14:00 عصر
بهترین cash ها رو smarty انجام می ده، اگه صفحه داینامیکی داری که بارها نمایش داده میشه و صفحه هم سنگین هست می تونی زمان بگذاری و آن صفحه اگه به مدت مثلا 7 روز تغییر نمی کنه cash بشه، دفعه اول موقع کش شدن خروجی کدهات کش شده و یک صفحه به صورت استاتیک ایجاد میشه
اینجوری تو این 7 روز دیگه کدهات اجرا نمیشه و در واقع هر بار این شبیه ساز استاتیک لود میشه

soroush.r70
چهارشنبه 18 مرداد 1391, 14:06 عصر
با تشکر یه فایل گیر اوردم که smart cache نوشته اینجا می ذارم ببینین آیا خوبه چطوری ازش استفاده کنم...؟

tehro0n
چهارشنبه 18 مرداد 1391, 14:22 عصر
با تشکر یه فایل گیر اوردم که smart cache نوشته اینجا می ذارم ببینین آیا خوبه چطوری ازش استفاده کنم...؟
البته منظور من cms اسمارتی بود، در مورد این که کدام کش کردن بهتره هم باید با توجه به کارتان ببینید کدام بهتر و زمان کمتری جواب می ده
با تابع time در اول و آخر سورستان زمان بگیرید ببینید چقدر طول میکشه و کدام کش براتون بهتره، اصلا ببینید کش کردن بهتره یا نشدن
چون خود کش شدن هم CPU زیادی اولش می گیره

soroush.r70
چهارشنبه 18 مرداد 1391, 14:26 عصر
اون فایلی که گذاشتم دیدی نظرت در موردش چیه فایل خوبه چطوری می شه ازش استفاده کرد...؟

AbiriAmir
جمعه 20 مرداد 1391, 12:16 عصر
اسمارتی cms نیست... موتور قالب (Template Engine) هست...

soroush.r70
جمعه 20 مرداد 1391, 13:47 عصر
یه روش خوب و عالی برای کش کردن صفحات وب سایتم که عالی باشه کسی می تونه معرفی کنه و نمونه بذاره...؟