caching strategies data-access-patterns performance

Top 6 Caching Strategies

الـ caching يعتبر من التقنيات الأساسية اللي بتحسن أداء التطبيقات والأنظمة من خلال تخزين البيانات اللي بنحتاجها كتير في مكان قريب زي الـ Memory للوصول السريع ليها بدل ما نعمل عمليات مكلفة على الـ database أو الـ API.

تم التحديث في 2025-01-03
تعديل على GitHub
Top 6 Caching Strategies

الـ caching يعتبر من التقنيات الأساسية اللي بتحسن أداء التطبيقات والأنظمة من خلال تخزين البيانات اللي بنحتاجها كتير في مكان قريب زي الـ Memory للوصول السريع ليها بدل ما نعمل عمليات مكلفة على الـ database أو الـ API.

فبالتالي هو بيساعد جدًا في التحسين من الـ Performance ولكن مش كل أنواع الـ Caching مناسبة لكل موقف ، وده لإنه بيعتمد بنسبة كبيرة على الـ Data Access Patterns، وكل تكنيك ليه الـ Trade-offs اللي لازم نكون مُلمين بيها عشان كدة مهم نفهم الأنواع المختلفة والسيناريوهات الأنسب لكل نوع.


Cache Hit Vs Cache Miss

قبل ما نتكلم عن الـ Caching Strategies فلازم نكون عارفين إن الـ Application لما بيلاقي الـ Data موجودة في الـ Cache فده معناه Cache Hit ولو ملقهاش فبيكون اسمه Cache Miss. 


Cache Reading Strategies

 الـCaching Strategies أثناء الـReading:

1. Cache Aside
الـ Cache Aside لو الـ Application حصله Cache Miss، فبيروح يجيب الـ Data من الـ Database وبعدين يعمل Update للـ Cache بالـ Data اللي عملها Fetch.

2. Read Through
الـ Read Through لو الـ Application حصله Cache Miss، الـ Cache ذات نفسه بيروح يجيب الـ Data من الـ Database ويعمل لنفسه Update بحيث الـ Data تبقى عنده.

3. Refresh-Ahead Cache

ده نوع متقدم من الـ Caching بيحاول يسبق الأحداث. يعني النظام بيحاول يجيب البيانات اللي احتمال التطبيق يحتاجها قبل ما يطلبها، عشان تبقى جاهزة في الـ Cache لما يطلبها المستخدم.


Cache Writing Strategies

 الـCaching Strategies أثناء الـWriting:

1. Write Around
 الـ Write Around الـ Application بيكتب الـ Data في الـ Database الأول، ولو جه يعملها Fetch بيروح للـ Cache الأول، ولو حصل Cache Miss بيروح يقرأها من الـ Database ويعمل Update للـ Cache.

2. Write Through
 الـ Write Through الـ Application بيكتب الـ Data في الـ Cache وبعدين بيكتبها على طول في الـDatabase.

3. Write Back
 الـ Write Back الـ Application بيكتب الـ Data في الـ Caching وتفضل الـData تتكتب في الـ Caching وكل فترة من وقت للتاني الـ Cache ياخد الـ Data دي ويحطها في الـ Database مرة واحدة.

كل طريقة من دول ليها الـ Trade-offs بتاعتها وممكن نعمل مزيج بينهم ونستفاد من أكتر من طريقة.


مواضيع ذات صلة
Caching & Performance

اشترك في النشرة البريدية

احصل على أحدث المحتوى والأخبار مباشرة في بريدك الإلكتروني

🔒 نحترم خصوصيتك. لن نشارك بريدك الإلكتروني مع أي طرف ثالث.