إيه هو الـ Caching وليه مهم للتطبيقات؟

x32x01
  • بواسطة x32x01 ||
لما بنتكلم عن البيانات (Data) في أي تطبيق، أول حاجة نفكر فيها هي قاعدة البيانات (Database).

عادةً البيانات بتتخزن على Hard Disk عن طريق Database Engine، ونرجع لها بالكود عن طريق استعلامات (Queries).

ده كويس لو البيانات بسيطة وعدد المستخدمين قليل.

لكن لما الطلبات تبقى معقدة أو الضغط عالي، زي عمليات الـ Join في SQL، السرعة تقل جدًا. هنا بييجي دور الـ Caching.

الـ Caching ببساطة هو مكان مؤقت بنخزن فيه البيانات اللي بتستخدم كتير. بدل ما نروح للـ Database كل مرة، نجيب البيانات من الكاش الموجود في الذاكرة (Memory)، وده يوفر وقت ومجهود كبير.



ليه الـ Caching مهم؟ ⚡


1. سرعة الاستجابة (Response Time)​

لما البيانات تكون في الكاش بدل الـ Database، الاستجابة أسرع بكتير.
  • استعلام من الـ Database ممكن ياخد 1-3 ثواني
  • نفس الاستعلام من الكاش ممكن ياخد أقل من 50 ملي ثانية

2. تقليل الحمل على الـ Database 💪

الكاش بيقلل عدد الطلبات اللي بتروح للـ Database، وده بيخلي السيستم يقدر يشيل عدد مستخدمين أكتر.

3. التعامل مع الضغط العالي (High Traffic) 📊

زي إعلان نتائج الثانوية العامة أو الكليات، الكاش يمنع السيستم من الانهيار وبيسرّع استجابة الموقع.



أمثلة استخدام الكاش 🛠️


1. تسريع الـ Queries​

لو عندك بيانات مش بتتغير كتير زي نتائج الطلاب، ممكن تخزنها في الكاش بدل استدعائها من الـ Database كل مرة.

2. حماية السيستم باستخدام Rate Limiter ⏱️

تقدر تسجل المستخدم في الكاش وعدد الطلبات اللي عملها خلال فترة معينة.
  • لو المستخدم تجاوز الحد المسموح، زي 5 طلبات في الدقيقة، ترجع له رسالة خطأ 429 Too Many Requests
  • ده بيحمي السيستم من هجمات زي Denial of Service



أنواع الـ Caching 🗂️


1. In-Memory Caching​

  • البيانات بتتخزن جوه ذاكرة السيرفر اللي الابلكيشن شغال عليه.
  • كل سيرفر ليه كاش خاص به، ومش بيتشارك مع سيرفرات تانية.
  • مناسب للأنظمة اللي شغالة على سيرفر واحد.

2. Distributed Caching​

  • الكاش بيتخزن في مكان مركزي زي Redis أو SQL Server.
  • كل السيرفرات تقدر تستخدم نفس البيانات.
  • مفيد لما عندك أكثر من سيرفر وفي Load Balancer، وبيضمن إن كل السيرفرات تشوف نفس البيانات.



لو ما استخدمتش الكاش قبل كده، معناه إنك بتضيع فرصة كبيرة لتحسين أداء التطبيق بتاعك! 🚀

لو تعاملت مع الـ Caching قبل كده، شاركنا في التعليقات إيه الأدوات (Tools) اللي استخدمتها؟
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
373
x32x01
x32x01
x32x01
الردود
0
المشاهدات
425
x32x01
x32x01
x32x01
الردود
0
المشاهدات
901
x32x01
x32x01
x32x01
الردود
0
المشاهدات
436
x32x01
x32x01
x32x01
الردود
0
المشاهدات
371
x32x01
x32x01
x32x01
الردود
0
المشاهدات
615
x32x01
x32x01
x32x01
الردود
0
المشاهدات
595
x32x01
x32x01
x32x01
الردود
0
المشاهدات
561
x32x01
x32x01
x32x01
الردود
0
المشاهدات
869
x32x01
x32x01
x32x01
الردود
0
المشاهدات
722
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,830
المشاركات
2,027
أعضاء أكتب كود
464
أخر عضو
رشن7
عودة
أعلى