انتقل إلى محتوى الدرس

Caching Expensive Database Queries تخزين الاستعلامات المكلفة عبر Cache

تسريع الأداء بالتخزين المؤقت Cache::remember وفصل منطق التطبيق عبر الأحداث والمستمعين وجدولة المهام الدورية آلياً.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

إن تكرار تشغيل الاستعلامات التجميعية المعقدة مع كل طلب زائر يفرض حملاً غير ضروري على قاعدة البيانات. تفحص الدالة Cache::remember وجود المفتاح في الذاكرة المؤقتة وتعيده فوراً، أو تنفذ دالة الإغلاق لتحميل البيانات وحفظها للمدة الزمنية المحددة قبل إرجاعها.

  • القراءة مع التخزين (Read-Through Caching): تدمج دالة Cache::remember الفحص والاستعلام والحفظ في استدعاء واحد أنيق.
  • التخزين الافتراضي بالقاعدة (Default Database Cache): يستخدم Laravel 12 جدول cache افتراضياً ويدعم Redis أو Memcached في الإنتاج.
  • الحفظ المباشر بدالة put (Direct Storage with put): استخدم الدالة Cache::put لحفظ قيمة جاهزة مع تحديد وقت انتهاء الصلاحية.
مخطط معماري يوضح التخزين المؤقت والأحداث والمستمعون وجدولة المهام في Laravel في إطار العمل Laravel 12
PHP
use App\Models\Post;
use Illuminate\Support\Facades\Cache;

$top = Cache::remember('posts.top', 3600, function () {
    return Post::where('views', '>', 99)->get();
});