12.1. مفهوم: حافظه موقت

Last updated on
14 April 2025

حافظه موقت صفحه چیست؟

دروپال، در هر درخواست صفحه، باید محاسباتی را به منظور تحویل صفحه به مرورگر یا هر نرم‌افزار دیگری که درخواست را داده است انجام داده و داده را از پایگاه‌داده بازیابی کند. این محاسبات می‌تواند زمان زیادی را بگیرد، این امر به افزایش زمان بارگیری صفحه منجر می‌شود که می‌تواند عملکرد منفی داشته باشد.

روش‌های مختلفی برای افزایش سرعت بارگیری صفحه وجود دارد، از جمله نصب نرم‌افزار در سرور. دروپال شامل افزونه‌های داخلی Page Cache و Dynamic Page Cache است که نیاز به نصب نرم‌افزار خارجی را برطرف می‌کند؛ آن‌ها از یک مکانیزم حافظه موقت در پایگاه‌داده استفاده می‌کنند که می‌تواند به افزایش سرعت سایت شما کمک کند. شیوه‌ای که این افزونه‌ها کار می‌کنند به این صورت است که هنگام محاسبات صفحه، نتایج میانی درون یک مکان مشخص از پایگاه‌داده قرار می‌گیرند که به نام cache شناخته می‌شود. سپس، دفعه بعد که این محاسبات مورد نیاز باشند دیگر نیازی نیست از ابتدا انجام گیرند بلکه نتایج آن از این مکان خوانده می‌شوند. به علاوه، زمانی که محتوا یا داده‌ای که روی محاسبات خاصی تاثیرگذار است، تغییر کند این حافظه پاک شده و از نو محاسبه می‌گردد تا در فراخوانی بعدی مورد استفاده قرار گیرد.

این افزونه‌های حافظه موقت معمولا به خوبی کار کرده و حداقل افزایش سرعت را برای اکثر سایت‌ها فراهم می‌کنند. با این حال، گاهی اوقات حافظه موقت صفحه ممکن است با مشکلاتی رو به رو شود:

  • داده خراب در حافظه موقت منجر به خروجی اشتباه صفحه شود
  • داده قدیمی در حافظه موقت به مدت طولانی نگهداری شود که این امر خروجی صفحه را بروزرسانی نمی‌کند
  • حافظه موقت ناکافی منجر به کاهش سرعت بارگیری صفحات می‌شود

چه داده‌هایی در حافظه موقت قرار می‌گیرند؟

جدا از اینکه کدام یک از افزونه‌های ذکر شده در سایت شما نصب هستند، دروپال بسیاری محاسبات داخلی خود را درون حافظه موقت قرار می‌دهد. این داده‌ها عبارتند از:

  • اطلاعات حافظه موقت سیستم قالب در پایگاه‌داده درباره اینکه کدام فایل‌ها برای خروجی باید مورد استفاده قرار گیرند. اگر قصد ایجاد یک قالب جدید دارید و فایل‌های جدیدی ایجاد کرده‌اید، برای شناخته شدن آن‌ها نیاز است که این حافظه موقت پاکسازی گردد.
  • فایل‌های CSS و JavaScript به صورت دلخواه می‌توانند بهینه و فشرده‌سازی شوند (بر اساس تنظیمات سایت شما). در این صورت، فایل‌های فشرده شده در فایل سیستم قرار می‌گیرند که دیگر نیازی به بهینه‌سازی مجدد آن‌ها نباشد. اگر یک افزونه یا قالب را توسعه می‌دهید، به منظور شناخته شدن این فایل‌ها باید حافظه موقت مربوط به آن‌ها را غیرفعال یا پاکسازی کنید.
  • سیستم برخی از توابع سطح-پایین PHP را مانند hook implementations و plugin classes از افزونه‌های نصب شده تشخیص داده و درون حافظه موقت قرار می‌دهد. اگر یک افزونه جدید را توسعه می‌دهید یا ویژگی جدیدی به افزونه موجود می‌افزایید، به منظور شناخته شدن این ویژگی‌ها باید حافظه موقت مربوط به آن‌ها را پاکسازی کنید.

موضوعات مرتبط

اگر مشکلی با سایت خود دارید، اولین کاری که می‌توانید انجام دهید پاکسازی حافظه موقت است. برای اطلاعات بیشتر قسمت 12.2, “پاکسازی حافظه موقت” را مشاهده کنید.

 

This page is generated from AsciiDoc source from the User Guide. To propose a change, edit the source and attach the file to a new issue in the User Guide project. PDF and e-book formats are available on the User Guide project page.

Source file: prevent-cache.asciidoc

Help improve this page

Page status: No known problems

You can: