WFruit | Fruit Supplier and Wholesale
نمایش نتایج: از 1 به 1 از 1

موضوع: آموزش پیاده سازی Page Caching در php از پایه ساخت پلاگین

  1. Top | #1
    کاربر سایت

    تاریخ عضویت
    Jul 2020
    ورژن ویبولتین
    10
    نوشته ها
    1
    مورد پسند
    0 بار
    اطلاعات
    Windows 8 Firefox 68.0
    میزان امتیاز
    0

    Red face آموزش پیاده سازی Page Caching در php از پایه ساخت پلاگین

    با خبرکاو همراه باشید

    Page Caching چیست؟

    Page Caching روشی است که می خواهد وقتی داده های اصلی برای واکشی یا محاسبه گران باشند (معمولاً از نظر زمان دسترسی) ،آنوقت مجموعه ای از داده های تکراری را ایجاد کند.
    از آنجا که PHP یک زبان برنامه نویسی تفسیر شده است ، سرور مجبور است هر بار که یک صفحه PHP درخواست می شود ، کد را اجرا کند. بسته به پیچیدگی و طول فرایند کار مثلا دریافت و خواندن از بانک اطلاعاتی و آماده سازی اون ها و.. ، این عملیات می تواند به زمان زیادی نیاز داشته باشد و منابع زیادی را طلب کند. اگر وب سایت شما ترافیک زیادی دارد ، واقعاً می تواند سرور و سایت شما را کند و نا کارآمد کند.


    اگر یک صفحه وب ذخیره شود ، اسکریپت بررسی می کند که فایل حافظه پنهانی مرتبط وجود دارد یا خیر. در صورت انجام این کار ، پرونده استاتیک ذخیره شده به مرورگر بازدید کننده ارسال می شود. اگر اینگونه نباشد ، اولین باری که توسط یک بازدید کننده درخواست می شود ، یک نسخه ثابت از صفحه پویا ایجاد می شود.
    با ایجاد نسخه ایستا از صفحات پویا ، سیستم حافظه پنهان منابع زیادی را در سرور ذخیره می کند زیرا اسکریپت PHP فقط یک بار اجرا می شود ، به جای اینکه هر بار که صفحه درخواست می شود اجرا کند.
    پرونده های حافظه پنهان دارای طول عمر خاصی هستند که توسط برنامه نویس تنظیم شده است. اگر طول عمر تعریف شده بیشتر شود ، سرور اسکریپت PHP را اجرا می کند و متعاقباً نسخه جدید ذخیره شده آن را تولید می کند

    مرحله اول: پرونده head.php را ایجاد کنید

    ما باید دو پرونده ایجاد کنیم. اولین مورد در اینجا آمده است: یک پرونده جدید به نام head.php ایجاد کنید و کد زیر را در آن قرار دهید:


    کد HTML:
    $url = $_SERVER["SCRIPT_NAME"];
    
    $break = Explode('/', $url);
    
    $file = $break[count($break) - 1];
    
    $cachefile = 'cached-'.substr_replace($file ,"",-4).'.html';
    
    $cachetime = 18000;
    
    // Serve from the cache if it is younger than $cachetime
    
    if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    
    echo "\n";
    
    readfile($cachefile);
    
    exit;
    
    }
    
    ob_start(); // Start the output buffer
    این کد چه کاری انجام می دهد؟ پنج خط اول نام پرونده cached را مطابق با پرونده PHP فعلی ایجاد می کنند. بنابراین ، اگر از پرونده ای استفاده می کنید list.php، صفحه وب ایجاد شده توسط صفحه ذخیره سازی نامگذاری می شود cached-list.html.
    خط ششم $cachetime متغیر ایجاد می کند ، که عمر حافظه پنهان ساده ما را (زمان Cachefile) تعیین می کند.
    خطوط نه تا سیزده عبارت شرطی است که به دنبال یک پرونده حافظه پنهان به نام $cachefile است. در صورت یافتن پرونده ، یک نظر درج می شود (خط ده) و $cachefile فایل درج می شود. سپس( exit تابع) اجرای اسکریپت را متوقف می کند و فایل برای مرورگر کلاینت ارسال می شود. این بدان معنی است که اگر یک فایل استاتیک یافت شود ، به هیچ کد پی اچ پی توسط سرور اهمبت داده نمی شود.
    اگر خط 14 $cachefile یافت نشد ، خط 14 بافر ایجاد می کند . این همه کد برای head.php پرونده است.

    مرحله دوم: پرونده footer.php را ایجاد کنید

    اکنون یک فایل PHP جدید دیگر ایجاد کنید ، با نامگذاری شده footer.php و کد های زیر را در آن قرار دهید:


    کد HTML:
    $cached = fopen($cachefile, 'w');
    
    fwrite($cached, ob_get_contents());
    
    fclose($cached);
    
    ob_end_flush(); // Send the output to the browser
    اگر یک فایل ذخیره شده به نام $cachefile در سرور شما یافت نشد ، این کد اجرا می شود و فایل کش را خود ایجاد می کند.
    در نتیجه ، دفعه بعدی که صفحه خواسته شده ی $cachefile در خواست میشود ، به جای اینکه کل پرونده PHP را اجرا کند(یعنی به بانک برود و دیتا واکش کند و جمع کند و نمایش دهد) ، فایل کشی که ساخته شده و استاتیک است به مرورگر سرویس دهنده ارائه می شود و کاربر با سرعت بسیار زیاد آن را میبیند

    مرحله سوم: پرونده های کش را در صفحه خود وارد کنید

    اکنون که دو پرونده لازم را ایجاد کرده اید ، کافی است که آنها را در صفحه PHP مورد نظر برای ذخیره قرار دهید.
    همانطور که احتمالاً حدس زده اید ، head.php پرونده باید در ابتدای صفحه PHP و footer.php در انتها ، همانطور که در زیر آمده است ، درج شود :
    مثلا یک فایل index دارید اول فایل این عبارت را فراخوانی میکنید :
    کد HTML:
    include('head.php');
    و در آخر کد ها این عبارت را، بعد از این دیگه تمام محتوا خودکار کش میشه:

    کد HTML:
    include('footer.php');
    خب الان وقتی صفحه ی مورد نظر رو از مرورگر درخواست کنید پی اچ پی برای اولین بار میاد داده هارو از بانک و سرور میخونه و در یک فایل html که همون کش ماست ذخیره میکنه و در دفعات بعدی این فایل استاتیک که از دیتاهای داینامیک ساخته شده به کاربر و ریکوئست ها نشان داده خواهد شد، بعدش خواهید دید چقدر سایتتون بهینه و پر سرعت میشود
    خب البته در پروژه های پیشرفته میتونید از سیستم های کش حافظه ای مثل : redis و memcached و غیره بهره ببرید ، این آموزش فقط آموزشی پایه از پیاده سازی کش روی بستر فایل بود در واقع File Caching
    امیدوارم لذت کافی رو برده باشید )

    منبع مطلب
    ویرایش توسط mahdi00021 : 2020/07/29 در ساعت 03:02 PM




  2. گیفت کارت آیتونز

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. سئو داخلی سایت (on-page) یا لینک سازی (لینک خارجی)، کدام مناسب تر است؟
    توسط kevin_ad در انجمن مقالات و راهکار های بهبود سئو
    پاسخ: 0
    آخرين نوشته: 2015/11/05, 12:45 PM
  2. اصول و قواعد سئو و بهینه سازی On page SEO
    توسط alidagon2 در انجمن آموزش های وردپرس
    پاسخ: 2
    آخرين نوشته: 2014/10/02, 03:23 PM
  3. افزایش سرعت لود سایت با ترفند Caching مرورگر
    توسط omid1744 در انجمن هک و آموزش های مخصوص
    پاسخ: 1
    آخرين نوشته: 2014/07/26, 07:42 PM
  4. نحوه غیرفعال نمودن DNS-Caching
    توسط Shahab در انجمن آموزش ها
    پاسخ: 0
    آخرين نوشته: 2012/06/05, 12:28 PM

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •