12.1. مفهوم: حافظه موقت
دروپال، در هر درخواست صفحه، باید محاسباتی را به منظور تحویل صفحه به مرورگر یا هر نرمافزار دیگری که درخواست را داده است انجام داده و داده را از پایگاهداده بازیابی کند. این محاسبات میتواند زمان زیادی را بگیرد، این امر به افزایش زمان بارگیری صفحه منجر میشود که میتواند عملکرد منفی داشته باشد.
روشهای مختلفی برای افزایش سرعت بارگیری صفحه وجود دارد، از جمله نصب نرمافزار در سرور. دروپال شامل افزونههای داخلی Page Cache و Dynamic Page Cache است که نیاز به نصب نرمافزار خارجی را برطرف میکند؛ آنها از یک مکانیزم حافظه موقت در پایگاهداده استفاده میکنند که میتواند به افزایش سرعت سایت شما کمک کند. شیوهای که این افزونهها کار میکنند به این صورت است که هنگام محاسبات صفحه، نتایج میانی درون یک مکان مشخص از پایگاهداده قرار میگیرند که به نام cache شناخته میشود. سپس، دفعه بعد که این محاسبات مورد نیاز باشند دیگر نیازی نیست از ابتدا انجام گیرند بلکه نتایج آن از این مکان خوانده میشوند. به علاوه، زمانی که محتوا یا دادهای که روی محاسبات خاصی تاثیرگذار است، تغییر کند این حافظه پاک شده و از نو محاسبه میگردد تا در فراخوانی بعدی مورد استفاده قرار گیرد.
این افزونههای حافظه موقت معمولا به خوبی کار کرده و حداقل افزایش سرعت را برای اکثر سایتها فراهم میکنند. با این حال، گاهی اوقات حافظه موقت صفحه ممکن است با مشکلاتی رو به رو شود:
- داده خراب در حافظه موقت منجر به خروجی اشتباه صفحه شود
- داده قدیمی در حافظه موقت به مدت طولانی نگهداری شود که این امر خروجی صفحه را بروزرسانی نمیکند
- حافظه موقت ناکافی منجر به کاهش سرعت بارگیری صفحات میشود
جدا از اینکه کدام یک از افزونههای ذکر شده در سایت شما نصب هستند، دروپال بسیاری محاسبات داخلی خود را درون حافظه موقت قرار میدهد. این دادهها عبارتند از:
- اطلاعات حافظه موقت سیستم قالب در پایگاهداده درباره اینکه کدام فایلها برای خروجی باید مورد استفاده قرار گیرند. اگر قصد ایجاد یک قالب جدید دارید و فایلهای جدیدی ایجاد کردهاید، برای شناخته شدن آنها نیاز است که این حافظه موقت پاکسازی گردد.
- فایلهای CSS و JavaScript به صورت دلخواه میتوانند بهینه و فشردهسازی شوند (بر اساس تنظیمات سایت شما). در این صورت، فایلهای فشرده شده در فایل سیستم قرار میگیرند که دیگر نیازی به بهینهسازی مجدد آنها نباشد. اگر یک افزونه یا قالب را توسعه میدهید، به منظور شناخته شدن این فایلها باید حافظه موقت مربوط به آنها را غیرفعال یا پاکسازی کنید.
- سیستم برخی از توابع سطح-پایین PHP را مانند hook implementations و plugin classes از افزونههای نصب شده تشخیص داده و درون حافظه موقت قرار میدهد. اگر یک افزونه جدید را توسعه میدهید یا ویژگی جدیدی به افزونه موجود میافزایید، به منظور شناخته شدن این ویژگیها باید حافظه موقت مربوط به آنها را پاکسازی کنید.
اگر مشکلی با سایت خود دارید، اولین کاری که میتوانید انجام دهید پاکسازی حافظه موقت است. برای اطلاعات بیشتر قسمت 12.2, “پاکسازی حافظه موقت” را مشاهده کنید.
صفحه "استفاده از حافظه موقت به منظور بهبود عملکرد" در مستندات جامعه کاربری Drupal.org
مشارکتکنندگان
نگارش توسط Jennifer Hodgdon
ترجمه توسط Navid Emami
Source file: prevent-cache.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion