host3nter

آموزش: cache کردن خروجی دیتابیس و مزایای آن

همانطور که خودتون میدونید cache به معنی مخزن یا ذخیره هستش , و البته اینجا ...

موضوع آموزش: cache کردن خروجی دیتابیس و مزایای آن,.

PHP, برنامه نویس, برنامه نویسی

تاريخ ارسال:2014/07/18

هاست سنتر همانطور که خودتون میدونید cache به معنی مخزن یا ذخیره هستش , و البته اینجا منظورمون ذخیره کردن است. شاید براتون پیش آمده باشه که در بخشی از وب سایت لازم بوده به دیتابیس وصل بشید , کوئری سنگینی رو بزنید , کد پیچیده و زمان بر رو اجرا و نهایتا یک خروجی ثابت رو به کاربران نمایش بدید ! بهترین مثالی که میتونم براتون بزنم منو های درختی (tree menus) است. در منوی درختی شما با استفاده از یک تابع برگشتی ساختار تو در تو کلی منو رو رسم میکنید و نهایتا به کاربران نمایش میدید. خوب تصور کنید منو شما خیلی آیتم و زیر مجموعه داره و در یک زمان چندین کاربر به وب سایت شما مراجعه کنن و کد شما مقدار قابل توجهی Ram و CPU رو خرج این کار بکنه ! چه اتفاقی می افته ؟! یا سایت سنگین میشه یا down خواهد شد ... بهترین کار اینه که خروجی منوی درختی رو یکبار بعد از ساخت کدهای html اش در یک فایل html ذخیره کنیم و هر بار که لازم بود توسط تابعی مثل include نمایش بدیم. اینکار اصلا پروسس زیادی نمیگیره و بلکه صرفا یک فایل html رو درخواست و نمایش میده ! مراحل کار : ابتدا شما به یک فایل html خالی احتیاج دارید که خروجی منو رو در اون بنویسید و ذخیره کنید. پس یک فایل به اسم cache.html در مسیر دلخواه سایت خود قرار دهید ! یک فایل php هم قرار بدید که منوی شما رو بسازه ! یعنی تابع برگشتی recursive شما در این فایل باشه , کدهای html رو بسازه و در فایل html بریزه و save کنه. برای مثال اسم این فایل رو هم میشه treeMenu.php گذاشت. تنها نکته ای که این فایل داره , باید اول بررسی کنه که اگر cache.html خالی بود بیاد با تابع داخل بنویسه و ذخیره کنه در غیر اینصورت بیاد همون cache.html قبلی رو براتون include کنه ! فایل بعدی هم قالب سایت شماست که صرفا فایل treeMenu.php رو بایست include کنه ! تئوری کلی کار رو خدمتتون گفتم و در زیر صرفا یک نمونه از کار با توابع فایل جهت نوشتن داخل فایل html رو براتون میارم : $html = ' <ul> <li>Home</li> <li> Products <ul> <li>Software</li> <li>Hardware</li> <li>Books</li> </ul> </li> <li>Services</li> </ul> '; $file = fopen('cache.html', 'w'); fwrite($file, $html); fclose($file); خالی کردن cache : خوب در مورد فایل cache و نحوه ساخت و ذخیره کردنش صحبت کردیم. حالا تا اینجا فقط یک فایل منوی ثابت یا یک منو بدون تغییر رو سایت ما نمایش میده ! این یک ضعف هست و اگر تا اینجا منو و کدها رو رها کنید کارتون اشتباه است. یعنی تا اینجا هر بار مثلا ادمین سایت بیاد تغییری در منو ایجاد کنه اونور چون یکبار cache شده دیگه چیزی رو نمایش نمیده و این به درد می نمیخوره ! برای حل این مشکل باید از ساده ترین راه استفاده کنید , یعنی یک دکمه توی ادمین بزارید و باهاش cache رو خالی کنید ! یعنی یک تابع رو اجرا کنید که بیاد اون فایل cache.html رو با محتوا خالی save کنه و از این طرف فایل treeMenu.php ما چون طول و سایز فایل رو چک میکنه بفهمه که خالی شده بیاد دوباره بسازه و ذخیره کنه ! اینجوری مشکل حل میشه و هر بار که ادمین دیتا رو تغییر بده , منو درختی رو ویرایش کنه یا در کل دیتابیس رو تغییر بده تمامی تغییرات در ویو سایت کاملا قابل رویت است ! یا یک راه دیگه هم هست که موقع ذخیره شدن منو در کدتون تعریف کنید که فایل cache.html در هر بار ویرایش منو خالی بشه. امیدوارم توضیحات کامل و توانسته باشم کلیت مطلب رو بهتون انتقال بدم ! موفق باشید هاست,دامین,سایت,وب,طراحی

سوال: دستوری بجای ReadLn در شبکه ایندی که بجای لاین با دریافت کلمه پایان پذیرد

نصب خودکار برنامه های جانبی

گذاشتن طرح توی themeforest.net / کسی اطلاعی داره مارو مطلع کنه لطفا

سوال: سخت تر کردن امکان خواندن کدهای سایت

سوال: ساخت elearning

بازدید ساز سئومارک

فازی c-mean

آموزش:, cache, کردن, خروجی, دیتابیس, و, مزایای, آن

آموزش: cache کردن خروجی دیتابیس و مزایای آن

میزبانی وب ,هاست,فضای وب,ویندوز,لینوکس,دات نت,پی اچ پی,web hosting,windows host,linux host,asp.net,php,sql server,mysql میزبان پایتخت ارائه دهنده خدمات میزبانی وب، هاست و هاستینگ، میزبانی هاست، دامین، میزبانی نمایندگی، نمایندگی وب، سرور مجازی و سرور مجازی ابری می باشد.هاست,میزبانی وب,دامین,سرور مجازی,میزبان پایتخت,host,domain,vps,mizban paytakht,hosting,share hosting,میزبان وب,میزبانی هاست,هاستینگ

google
logo-samandehi