در صورتی که می خواهید سرعت سایت خود را بالا ببرید و همچنین میزان بار استفاده شده بر روی سرور را کمک نمایید می توانید از php برای کش کردن صفحات سایت کمک بگیرید. کش کردن به آن معنی است که یک نسخه از صفحه مورد نظر بر روی سرور ذخیره می گردد و در درخواست کاربر بعدی به جای اجرا شدن صفحه مورد نظر فایل کش ذخیره شدن در سایت به کاربر نمایش داده می شود. شما همچنین می توانید در برنامه نویسی کش سایت خود زمان مشخص نمایید به عنوان مثال مشخص نمایید هر 15 کش جدید در سایت نوشته شود. مدت زمان کشی که تعیین می نمایید بسته به وضعیت سایت شما می باشد. در صورتی که سایت شما دائما در حال تغییر است کش را باید بسیار کم و در حد 1 دقیقه ست نمایید و در صورتی که سایت شما تغییرات خاصی ندارد می توانید کش حتی 1 ماهه ست نمایید. استفاده از سیستم کش باعث می شود بار بر روی به میزان قابل توجهی کاهش یابد زیرا دیگر لازم نیست برنامه php اجرا گردد و صفحه برای کاربر ارسال گردد. صفحه مورد نظر به مانند یک صفحه html لود می گردد.
برای ایجاد سیستم کش در فایل php خود کافی است کد زیر نظر را در بالای فایل php خود کپی نمایید:
<?php
$cachefile = "images/cache.html";
$cachetime = 15 * 60; // 5 minutes
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && (time() - $cachetime
< filemtime($cachefile)))
{
include($cachefile);
echo "<!-- Cached ".date("jS F Y H:i", filemtime($cachefile))."
-->n";
exit;
}
ob_start(); // start the output buffer
?>
کد php بالا ابتدا به دنبال فایل کش بر روی سرور می گردد و در صورتی که زمان ایجاد آن مربوط به کمتر از 15 دقیقه بود فایل کش شده رو به جای اجرا کردن کد برای کاربر ارسال می نمایید
و دستور php زیر را در پایین صفحه کپی نمایید
<?php
// open the cache file for writing
$fp = fopen($cachefile, "w");
// save the contents of output buffer to the file
fwrite($fp, ob_get_contents());
// close the file
fclose($fp);
// Send the output to the browser
ob_end_flush();
?>
کد بالا پس از اجرا شدن اسکریپت صفحه مورد نظر خروجی را می گیرد و در فایل کش ذخیره می نماید
همانطوری که ملاحظه می فرمایید ایجاد سیستم کش از طریق برنامه نویسی php بسیار ساده است ولی به مقدار قابل توجهی در بار روی سرور تاثیر مثبت می گذارد.
لینک و سورس:
طراحی سیستم کش php