هل يؤدي جلب البيانات البطيء والمتكرر إلى ضعف أداء التطبيق؟ جرب التخزين المؤقت لحل المشكلة.

يعد إنشاء تطبيقات ويب سريعة وموثوقة أكثر أهمية من أي وقت مضى في المشهد الرقمي اليوم. لدى المستخدمين توقعات عالية عندما يتعلق الأمر بأداء موقع الويب. يمكن أن تؤدي أوقات التحميل البطيئة أو التعطل إلى إحباط العملاء وإلحاق الضرر بالسمعة.

تتمثل إحدى طرق تحقيق تطبيقات الويب السريعة والموثوقة في استخدام التخزين المؤقت. هناك أنواع مختلفة من ذاكرات التخزين المؤقت التي يمكنك تنفيذها في تطبيقك ، بما في ذلك ذاكرة التخزين المؤقت في الذاكرة ، وذاكرة التخزين المؤقت للمتصفح ، وذاكرة التخزين المؤقت لقاعدة البيانات ، وذاكرة التخزين المؤقت لـ CDN.

ما هو التخزين المؤقت ، وكيف يختلف التخزين المؤقت في الذاكرة؟ كيف يمكنك زيادة أداء تطبيق Nest.js الخاص بك من خلال التخزين المؤقت في الذاكرة؟

ما هو التخزين المؤقت؟

التخزين المؤقت هو عملية تخزين البيانات التي يتم الوصول إليها بشكل متكرر في مكان مؤقت لتحسين أداء تطبيق أو نظام. يمكن استرداد البيانات المخزنة مؤقتًا بسرعة وتقديمها إلى المستخدم دون الحاجة إلى استعادتها مرة أخرى من المصدر الأصلي.

instagram viewer

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

ما المقصود بالتخزين المؤقت في الذاكرة؟

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

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

كيفية تنفيذ التخزين المؤقت في الذاكرة في تطبيق Nest.js

يحتوي Nest.js على دعم مدمج للتخزين المؤقت باستخدام برامج تشغيل مثل Redis و Memcached وغير ذلك الكثير. ومع ذلك ، لسهولة الفهم ، تستخدم هذه المقالة وحدة ذاكرة التخزين المؤقت المدمجة التي يوفرها Nest.js.

يفترض هذا القسم أن لديك بالفعل تطبيق Nest.js تم إنشاؤه باستخدام أمر Nest CLI: عش [اسم التطبيق] الجديد. لتنفيذ ذاكرة التخزين المؤقت في الذاكرة في نقطة نهاية ، يجب أن يكون لديك ملفات الوحدة النمطية والخدمة ووحدة التحكم بالفعل ، أو إنشاءها باستخدام عشيولد يأمر. يمكنك معرفة المزيد عن عش تولد في ال وثائق Nest CLI.

تتمثل الخطوة الأولى لتنفيذ ذاكرة التخزين المؤقت في الذاكرة في استيراد ملف وحدة التخزين المؤقت من @ nestjs / مشترك في وحدة نقطة النهاية الخاصة بك كما هو موضح أدناه:

// example.module.ts
يستورد {وحدة ، CacheModule} من"@ nestjs / مشترك";

@وحدة({
الواردات: [CacheModule.register ()] ،
})

يصدّرفصل exampleModule {}

بعد ذلك ، تحتاج إلى الاستيراد CacheService وحقنها في خدمة Nest.js التي تتصل بـ قاعدة بيانات مثل MongoDB. يمكنك أن ترى كيف يقوم مثال الكود التالي بهذا:

// example.service.ts
يستورد {قابل للحقن ، CacheService} من"@ nestjs / مشترك";

تضمين التغريدة()
يصدّرفصل exampleService {
البناء(خاص للقراءة فقط cacheService: CacheService) {}

غير متزامن احصل على البيانات(): يعد<أي> {
مقدار ثابت cacheKey = 'بياناتي';
يترك البيانات = انتظرهذا.cacheService.get (cacheKey) ،

لو (!بيانات) {
// جلب البيانات من قاعدة البيانات أو API
البيانات = انتظرهذا.ابحث عن المعلومة()؛

// ذاكرة التخزين المؤقت البيانات للاستخدام في المستقبل
انتظرهذا.cacheService.set (cacheKey، data، {ttl: 60 });
}

يعود بيانات؛
}

خاصغير متزامن ابحث عن المعلومة(): يعد<أي> {
// جلب البيانات من قاعدة البيانات
}
}

في رمز المثال أعلاه ، ملف exampleService الاستخدامات CacheService كتبعية. ال احصل على البيانات يتحقق الأسلوب مما إذا كانت البيانات متاحة في ذاكرة التخزين المؤقت باستخدام مفتاح (cacheKey) ، إذا لم تكن البيانات في ذاكرة التخزين المؤقت ، فسيتم إحضارها من قاعدة البيانات وتخزينها مؤقتًا لاستخدامها لاحقًا.

ال CacheService لديه تعيين الطريقة التي تأخذ الكائن كوسيطة. في هذه الحالة ، يمكنك أن ترى كيف القيمة {ttl: 60} يضبط وقت البقاء على 60 ثانية. هذا يعني أن الخدمة ستزيل البيانات المخزنة مؤقتًا تلقائيًا بعد دقيقة واحدة.

تتضمن بعض المزايا المهمة للتخزين المؤقت في الذاكرة ما يلي:

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

تحسين تطبيقات Nest.js من خلال التخزين المؤقت في الذاكرة

يعد التخزين المؤقت في الذاكرة طريقة فعالة للغاية لتحسين أداء التطبيق بشكل عام. لقد رأيت كيفية تنفيذ ذاكرة التخزين المؤقت في الذاكرة في Nest.js وكيف تعمل على تحسين قابلية التوسع وتجربة المستخدم. يمكنه أيضًا تحسين وقت الاستجابة وتقليل تكاليف تشغيل التطبيق الخاص بك.

حاول استخدام مفهوم التخزين المؤقت عمليًا عند إنشاء واجهة برمجة تطبيقات أو تطبيق Nest.js التالي.