The New .NET 9 HybridCache That You Must Upgrade To!

Nick Chapsas
28 May 202414:34

Summary

TLDRفي هذا الفيديو، يشرح ناك آلية التخزين المؤقت الجديدة في .NET 9 التي تحل محل آليات التخزين التقليدية مثل IMemoryCache وIDistributedCache. تركز الآلية الجديدة، المعروفة باسم Hybrid Cache، على توفير حماية ضد تكدس الطلبات وتحسين الأمان أثناء التعامل مع بيانات التخزين المؤقت. هذه التقنية تقدم مرونة في التعامل مع التخزين المحلي والموزع، مما يجعل التطبيقات أكثر سرعة وكفاءة. ينصح باستخدام Hybrid Cache في التطبيقات المستقبلية بفضل سهولة تكاملها وقدرتها على تقليل المشاكل المرتبطة بالتخزين التقليدي.

Takeaways

  • 😀 تم تقديم آلية جديدة للتخزين المؤقت في .NET 9 لتحل محل كل من التخزين المؤقت في الذاكرة والتخزين المؤقت الموزع.
  • 😀 التخزين المؤقت الجديد يهدف إلى تحسين الأداء وتقليل عدد الاستدعاءات الخارجية مثل استدعاء APIs مع البيانات غير المتغيرة بشكل متكرر.
  • 😀 عند استخدام الذاكرة المؤقتة في .NET 9، يتم تسريع استجابة التطبيق، كما يتم تقليل الحمل على API خارجي من خلال حفظ البيانات مؤقتًا.
  • 😀 استخدام التخزين المؤقت في الذاكرة يسبب مشكلة 'stampede' عندما تنتهي صلاحية البيانات، حيث يتم إرسال عدة طلبات في نفس الوقت لإعادة تحميل البيانات.
  • 😀 يمكن أن تحل هذه المشكلة عن طريق استخدام آلية التخزين المؤقت الهجين التي توفر حماية ضد حالات الازدحام والتخزين المتزامن.
  • 😀 التبديل إلى التخزين المؤقت الموزع باستخدام Redis يتم عبر `IDistributedCache` ويعالج العديد من التحديات التي تطرأ عند استخدام عدة مثيلات من التطبيق.
  • 😀 في .NET 9، قدمت Microsoft التخزين المؤقت الهجين الذي يجمع بين ميزات التخزين المؤقت في الذاكرة والتخزين المؤقت الموزع في واجهة واحدة.
  • 😀 التخزين المؤقت الهجين في .NET 9 لا يحتاج إلى إعدادات معقدة لتوزيع البيانات ويمكن تخصيصه ليتعامل مع إلغاء التوزيع على أساس كل حالة.
  • 😀 ميزة التخزين المؤقت الهجين هي أنها توفر حماية ضد الازدحام عبر التزامن الذي يمنع دخول طلبات متكررة لذات البيانات في نفس الوقت.
  • 😀 يتيح التخزين المؤقت الهجين أيضًا إضافة علامات لتسهيل إزالة البيانات من التخزين المؤقت بشكل جماعي، مما يساعد على إدارة الذاكرة بكفاءة.

Q & A

  • ما هي آلية التخزين المؤقت الجديدة التي تم إضافتها في .NET 9؟

    -تم إضافة آلية تخزين مؤقت هجينة (Hybrid Cache) في .NET 9، وهي تستبدل واجهات التخزين المؤقت التقليدية مثل الذاكرة الداخلية (InMemory Cache) والتخزين الموزع (Distributed Cache) مثل Redis، وتوفر طريقة موحدة لتحسين الأداء وتقليل المشاكل المتعلقة بالتحكم في الذاكرة.

  • هل يجب علي استبدال آلية التخزين المؤقت السابقة التي استخدمتها؟

    -نعم، يُوصى باستبدال التخزين المؤقت الموزع مثل ID Distributed Cache وآلية التخزين المؤقت في الذاكرة (InMemory Cache) باستخدام آلية التخزين المؤقت الهجينة الجديدة (Hybrid Cache) في .NET 9.

  • ما هي مشكلة التخزين المؤقت في الذاكرة باستخدام واجهة IMemoryCache؟

    -عند استخدام IMemoryCache في التخزين المؤقت، توجد مشكلة مع الأمان المتعدد (Thread Safety)، حيث لا يتم التعامل بشكل صحيح مع الطلبات المتزامنة التي قد تسبب مشاكل مثل حروب الإصدارات (Stampede) عند انتهاء صلاحية البيانات المخزنة.

  • ما هو Stampede protection وكيف يحل مشكلة التخزين المؤقت؟

    -Stampede protection هي آلية لحماية الطلبات المتزامنة من دخول عملية التخزين المؤقت في وقت واحد، مما يؤدي إلى تحميل نفس البيانات مرة أخرى من API خارجي بشكل غير ضروري. تم إدخال هذه الآلية في التخزين المؤقت الهجين لحل هذه المشكلة.

  • ما هي المشاكل التي يواجهها التخزين المؤقت الموزع باستخدام ID Distributed Cache؟

    -من أبرز المشاكل في ID Distributed Cache هو غياب آلية للحماية من حروب الإصدارات (Stampede Protection)، وعدم وجود طرق بسيطة لتخزين البيانات مثل get or create، وكذلك غياب أدوات لتحديد حذف البيانات بناءً على الوسوم (Tag-based eviction).

  • ما الفرق بين التخزين المؤقت الهجين (Hybrid Cache) والتخزين المؤقت في الذاكرة (InMemory Cache)؟

    -التخزين المؤقت الهجين هو نظام مرن يدعم التخزين في الذاكرة وأيضًا في الأنظمة الموزعة مثل Redis. بينما يقتصر التخزين المؤقت في الذاكرة على تطبيقات الأحادية فقط ولا يمكن استخدامه بشكل فعال في بيئات متعددة الخوادم.

  • كيف يتم التعامل مع التخزين المؤقت في .NET 9 عند إضافة التخزين الموزع مثل Redis؟

    -عند إضافة التخزين الموزع مثل Redis إلى التخزين المؤقت الهجين، يتمكن التطبيق من استخدام Redis كخيار للتخزين الموزع إذا تم تفعيل ذلك، بينما إذا لم يتم تفعيله، سيعمل التخزين المؤقت بشكل داخلي في الذاكرة فقط.

  • هل يوجد دعم للتوسعة في التخزين المؤقت الهجين في .NET 9؟

    -نعم، يوفر التخزين المؤقت الهجين في .NET 9 خيارات واسعة للتخصيص مثل تعيين الوسوم (tags) للتخزين المؤقت، التحديد المتقدم للتهيئة، وتحديد مدة صلاحية البيانات.

  • كيف يمكن تجنب مشاكل الحروب بين الطلبات في التخزين المؤقت؟

    -من خلال استخدام التخزين المؤقت الهجين، يتمكن المطورون من تجنب مشاكل حروب الإصدارات (Stampede) بفضل آلية الحماية المدمجة التي تضمن عدم تداخل العمليات المتزامنة، مما يحسن الأداء ويمنع الحمل الزائد على API خارجي.

  • ما هي الفائدة من استخدام التخزين المؤقت الهجين في تطبيقات متعددة الخوادم؟

    -الفائدة الرئيسية هي أن التخزين المؤقت الهجين يوفر طريقة موحدة للتعامل مع البيانات المخزنة في الذاكرة وفي التخزين الموزع، مما يسهل استخدامه في بيئات تطبيقات متعددة الخوادم دون الحاجة إلى تكامل مع حلول متعددة مثل Redis أو IMemoryCache بشكل منفصل.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
التخزين المؤقتدوت نت.NET 9تخزين مؤقتتقنية البرمجةAPIتحسين الأداءإصدار دوت نتالتخزين الموزعدورة تدريبيةMicrosoft
Do you need a summary in English?