اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

التخزين المؤقت (Caching) هو تقنية تُستخدم لتخزين واسترداد البيانات التي يتم الوصول إليها بشكل متكرر بطريقة أسرع وأكثر كفاءة. في تطبيقات الويب، يؤدي التخزين المؤقت دورًا حاسمًا في تقليل حمل الخادم وتحسين أوقات الاستجابة، مما يؤدي إلى تحسين تجربة المستخدم. عندما يطلب المستخدم بيانات من تطبيق ويب، يمكن للتطبيق تخزين نتيجة ذلك الطلب في ذاكرة التخزين المؤقت. في المرة القادمة التي يتم فيها طلب نفس البيانات، يمكن للتطبيق استخدامها مباشرة من التخزين المؤقت بدلاً من إعادة حسابها أو استدعائها من مصدر البيانات الأصلي، مثل قاعدة البيانات أو واجهة برمجة التطبيقات الخارجية.

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

اولا دعنا نشرح File Cache Driver

1. يقوم برنامج التشغيل هذا بتخزين البيانات المخزنة مؤقتًا كملفات على نظام ملفات الخادم.
2. إنه أبسط برنامج تشغيل للتخزين المؤقت ولا يتطلب أي تبعيات خارجية.
3. مناسب تمامًا لبيئات التطوير واحتياجات التخزين المؤقت البسيطة.
مثال على التعليمات البرمجية: تخزين البيانات واسترجاعها باستخدام برنامج تشغيل ذاكرة التخزين المؤقت للملفات

// تخزين البيانات في ذاكرة التخزين المؤقت
Cache::put('key', $data, $expirationInSeconds);

if (Cache::has('key')) {
    $data = Cache::get('key');
} else {
    // البيانات غير الموجودة في ذاكرة التخزين المؤقت، قم بإحضارها من المصدر الأصلي وتخزينها مؤقتًا.
    $data = fetchDataFromDatabase();
    Cache::put('key', $data, $expirationInSeconds);
}

ثانيا لنقم بشرح Database Cache Driver
 

1. يقوم برنامج التشغيل هذا بتخزين البيانات المخزنة مؤقتًا في قاعدة البيانات.
2. مفيد عندما تريد مشاركة بيانات ذاكرة التخزين المؤقت بين خوادم متعددة في بيئة متوازنة التحميل.
3. أبطأ من برنامج تشغيل ذاكرة التخزين المؤقت للملفات بسبب عمليات قاعدة البيانات.

مثال التعليمات البرمجية: تخزين البيانات واستردادها باستخدام برنامج تشغيل ذاكرة التخزين المؤقت لقاعدة البيانات

Cache::store('database')->put('key', $data, $expirationInSeconds);

if (Cache::store('database')->has('key')) {
    $data = Cache::store('database')->get('key');
} else {
    $data = fetchDataFromDatabase();
    Cache::store('database')->put('key', $data, $expirationInSeconds);
}

ثالثا لنقم بشرح اخر شئ و هو Redis Cache Driver

1. يستخدم برنامج التشغيل هذا Redis، وهو مخزن بيانات في الذاكرة، للتخزين المؤقت.
2. يعد Redis سريعًا وفعالًا للغاية، مما يجعله الخيار الموصى به لاحتياجات التخزين المؤقت عالية الأداء.
3. مناسب تمامًا للأنظمة الموزعة وسيناريوهات التخزين المؤقت المعقدة.

مثال على الكود: تخزين البيانات واسترجاعها باستخدام برنامج تشغيل Redis Cache


Cache::store('redis')->put('key', $data, $expirationInSeconds);


if (Cache::store('redis')->has('key')) {
    $data = Cache::store('redis')->get('key');
} else {
    $data = fetchDataFromDatabase();
    Cache::store('redis')->put('key', $data, $expirationInSeconds);
}

لارافيل  يوفر العديد من محركات التخزين المؤقت (Caching Drivers)، وكل منها له فوائد وقيوده الخاصة. اختيار آلية التخزين المؤقت يعتمد على متطلبات تطبيقك الخاصة ومستوى الأداء والقابلية للتوسع الذي تحتاجه. عن طريق استغلال التخزين المؤقت بفعالية، يمكنك تحسين أوقات الاستجابة والأداء العام لتطبيق لارافيل بشكل كبير.

 

 

  • 0
نشر

اضافة الكاش فعلا كما ذكرت تعمل على تحسين الاداء جدا، هناك العديد من استراتيجيات الكاش فى لارفل منها: file, array ,database ,Redis and Memcached

كلهم متقاربين فى السرعة، لكن اذا اردت استخدام اسرعهم فهو Redis.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...