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

Invalidating Stale Cache Keys إبطال وتحديث مفاتيح التخزين المؤقت

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

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

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

يتطلب تقديم البيانات المخزنة مؤقتاً استراتيجية إبطال واضحة لكي لا يرى المستخدمون بيانات قديمة بعد تعديل السجلات أو حذفها. يقوم استدعاء الدالة Cache::forget بمسح المفتاح المحدد فوراً، مما يضمن قيام الطلب التالي بجلب البيانات المحدثة داخل دالة Cache::remember.

  • الحذف الصريح للمفتاح (Explicit Key Eviction): استدع دالة Cache::forget داخل إجراءات الإنشاء والتحديث والحذف فور تغير البيانات الأساسية.
  • الجلب والحذف معاً (Atomic Retrieve & Delete): استخدم دالة Cache::pull لقراءة القيمة المخزنة مرة واحدة وحذفها من الكاش في نفس اللحظة.
  • التحديث المرن (Flexible Cache SWR): يوفر Laravel 12 أيضاً دالة Cache::flexible لتحديث الكاش في الخلفية دون تأخير الزائر.
PHP
public function update(Request $request, Post $post)
{
    $post->update($request->only('title'));
    Cache::forget('posts.top');
    Cache::put("posts.{$post->id}", $post, 1800);
    return response()->json($post);
}