انتظار مجموعة بيانات كبيرة لحساب كل مرة تضغط فيها على الطريق أمر سيء! والمستخدمون لا يريدون الانتظار، فكل شخص لديه فترة احتفاظ قصيرة هذه الأيام، لذلك قمنا بإصلاحها منذ سنوات باستخدام ذاكرة التخزين المؤقت. يحتوي Laravel على Cache Fascad لمساعدتنا في تخزين البيانات مؤقتًا، ونحن نستخدم Cache::remember() وهي طريقة رائعة لتخزين بعض البيانات مؤقتًا لفترة من الوقت حتى تنتهي صلاحيتها.
ولكن في حدث حديث، أعلنت Laravel عن الميزة الجديدة القادمة في Cache Fascad والتي تسمى "المرنة". يستخدم وظيفة defer () الجديدة لـ Laravel في الخلفية.
Cache::flexible() يشبه إلى حد كبير Cache::remember() الذي نعرفه بالفعل ولديه تغييرات قليلة جدًا في الرموز ولكن له تأثير كبير على الأداء. يمكنك توفير قيمتين للوقت بدلاً من 1 على عكس Cache::remember().
إذا تجاوزت 5 و10 كإطار زمني لـ Cache::flexible()، فعندما يصل المستخدم إلى المسار لأول مرة أو يزوره، يجب على المستخدم انتظار تخزين القيم مؤقتًا وعند الاستمرار في الوصول إلى المسار خلال 5 ثوانٍ ثم تقوم فقط بإرجاع القيم المخزنة مؤقتًا مثل Cache::remember(). ولكن هنا الجزء المثير للاهتمام، إذا وصل المستخدم إلى المسار خلال إطار زمني يتراوح من 5 إلى 10 ثوانٍ (كما قدمنا)، فسيظل Laravel يوفر القيم المخزنة مؤقتًا للزيارة الأولى خلال هذا الإطار الزمني ويبدأ عامل الخلفية في تخزين القيم مؤقتًا مرة أخرى. وعندما يزور المستخدم المسار مرة أخرى، فإنه يحصل على بيانات التحديث ولكن هذه المرة دون انتظار تخزين البيانات مؤقتًا أو حسابها على عكس Cache::remember().
قد يكون هذا أمرًا صعب الفهم بالنسبة للبعض منكم، أوصي بقراءة هذا المقال الذي كتبته عنه بمزيد من التفصيل وبأمثلة من الحياة الواقعية: https://laraveleco.com/cache-flexible-method-of-laravel /
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3