انتقل إلى المحتوى

الدرس 2 من 3

التخزين المؤقت في كل طبقة

دقيقتان

أسرع طلب هو الطلب الذي لا يحتاج خادمك إلى معالجته أصلًا. ويعمل التخزين المؤقت في عدة طبقات، لكل منها دور مختلف.

ذاكرة المتصفح

الملفات الثابتة ذات الأسماء المرقّمة بالإصدار يمكن تخزينها لمدة سنة:

location ~* \.(css|js|woff2|png|jpg|webp|avif)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

شبكة توصيل المحتوى (CDN)

تحتفظ شبكة CDN بنسخ من ملفاتك قريبة من الزوار، فإذا كان موقعك يخدم الخليج ومصر من منطقة واحدة، فإنها تختصر معظم المسافة.

تخزين الصفحات

للصفحات التي تظهر بالشكل نفسه لكل الزوار (الصفحة الرئيسية ومقالات المدونة)، خزّن HTML النهائي. ويمكن لإضافات التخزين المؤقت في WordPress أو خاصية fastcgi_cache في Nginx خدمة آلاف الطلبات في الثانية بهذه الطريقة.

لا تخزّن أبدًا أي صفحة شخصية: سلة المشتريات وصفحات الحساب والدفع.

تخزين الكائنات

يحتفظ Redis بنتائج استعلامات قاعدة البيانات المكلفة في الذاكرة، ويفيد أكثر في الصفحات الديناميكية التي لا يمكن تخزينها كاملة.

تخزين الكود المترجم

تأكد من تفعيل OPcache في PHP، فهو سرعة مجانية: يبقى الكود المترجم في الذاكرة بدلًا من تحليله مع كل طلب.

الجزء الصعب في التخزين المؤقت هو الإبطال، فحدد مسبقًا كيف تُمسح كل طبقة عند تغيير المحتوى.