Redis
Redis هو طبقة التخزين المؤقت التي تقلل من حمل قاعدة البيانات وتخفض أزمنة الاستجابة إلى مستوى الميلي ثانية. حلّنا المفضل لإدارة الجلسات وتحديد معدل الطلبات وطوابير المهام عبر مكتبة BullMQ المبنية عليه.
الميزات
- مخزن مفتاح-قيمة في الذاكرة
- تخزين مؤقت قائم على TTL
- مراسلة Pub/Sub
- طوابير مهام BullMQ
- آلية قفل موزع
- توفر عالٍ عبر Cluster و Sentinel
حالات الاستخدام
- تخزين استجابات واجهة برمجة التطبيقات مؤقتاً
- إدارة جلسات المستخدمين
- تحديد معدل الطلبات والحماية من هجمات DDoS
- طوابير المهام الخلفية
- لوحات المتصدرين (leaderboard)
التفاصيل
التخزين المؤقت عالي السرعة باستخدام Redis
Redis (خادم القاموس البعيد) هو مخزن هياكل بيانات مفتوح المصدر يعمل في ذاكرة الوصول العشوائي (RAM). قادر على تنفيذ ملايين العمليات في الثانية، ويُعد Redis مثالياً لتخزين استعلامات قاعدة البيانات مؤقتاً، وإدارة الجلسات، والتواصل في الوقت الفعلي عبر نمط النشر والاشتراك (pub/sub) للرسائل.
في مشاريع Detartech، ننشر Redis عبر طبقات متعددة. نخزّن استجابات واجهة برمجة التطبيقات واستعلامات قاعدة البيانات باستخدام تخزين مؤقت قائم على TTL، مما يقلل حمل قاعدة البيانات بنسبة 60-80% للاستعلامات المتكررة. ندير طوابير المهام عبر مكتبة BullMQ، معالجين مهاماً خلفية مثل إرسال البريد الإلكتروني، وتوليد التقارير، وتسليم webhook بشكل غير متزامن. كما نفضل Redis لتنفيذ تحديد معدل الطلبات وآليات القفل الموزع.
أين تستخدم Detartech قاعدة Redis؟
Redis هي أداتنا الافتراضية لطبقة التخزين المؤقت. وأوضح مثال على ذلك مشروع Biletico: فأثناء إعادة بناء الواجهة ومخطط المقاعد القائم على canvas ومسار الدفع في منصة التذاكر التي تسلمناها، أُضيف التخزين المؤقت عبر Redis إلى بنية Next.js وNode.js، واستُخدمت MongoDB لجانب البيانات. وينطبق هنا النهج الذي نشرحه في صفحة خدمة توسيع نطاق الخلفية: يُكتب مسبقًا عمر كل سجل في الذاكرة المؤقتة والحدث الذي يُسقطه، ويُوثَّق ما لا يدخل الذاكرة المؤقتة بوصفه قرارًا مستقلًا.
متى تكون Redis الخيار الصحيح؟
تكون Redis الأداة المناسبة عندما تُقرأ البيانات نفسها مرارًا على فترات قصيرة، أو عندما تكون قاعدة البيانات أول ما ينكسر تحت الحمل، أو عندما تحتاج بيانات قصيرة العمر مثل الجلسات وتحديد معدل الطلبات وطوابير المهام الخلفية إلى وصول سريع. وعند قياس نسبة الإصابة في الذاكرة المؤقتة يصبح المكسب الذي تضيفه قابلًا للمتابعة.
متى لا تكون Redis هي الحل؟
إذا كان البطء ناتجًا عن استعلام بلا فهرس أو عن استعلامات تتكرر داخل حلقة، فإن الذاكرة المؤقتة تخفي المشكلة ولا تحلها؛ لذلك تُقرأ خطة الاستعلام أولًا. وفي الشاشات التي يجب أن تعرض كل قراءة فيها أحدث قيمة، تزيد الذاكرة المؤقتة من خطر عرض بيانات قديمة، والنظام الذي يعرض بيانات قديمة أغلى كلفة من النظام البطيء. أما البيانات الدائمة والعلائقية فنحفظها في قاعدة بيانات مثل PostgreSQL بوصفها المخزن الأساسي، ولا نعتمد على Redis لهذا الغرض.
ماذا صنعنا بهذا؟
الخدمات التي تستخدمها
عرض الكلCTO as a Service
خدمة CTO as a Service (مدير تقني بدوام جزئي): قيادة تقنية دون توظيف بدوام كامل. سجل القرارات المعمارية وجرد الدين التقني وتقييم الموردين والفريق.
توسيع نطاق الخلفية
التوسيع ليس إضافة خوادم بل العثور على الاختناق: القياس، وتحسين قاعدة البيانات والاستعلامات، وطبقات التخزين المؤقت، والطوابير، والانتقال القابل للتراجع.
أمثلة من مشاريعنا
عرض الكلLextum AI - إدارة المستندات القانونية المدعومة بالذكاء الاصطناعي
منصة SaaS للمهنيين القانونيين توفر إنشاء المستندات بالذكاء الاصطناعي، ومراجعة العقود، والتعاون في الوقت الفعلي، والمكالمات الصوتية والمرئية، وإدارة الإصدارات.
Biletico - منصة حجز تذاكر الفعاليات المخصصة للأطفال
منصة حجز تذاكر الفعاليات للأطفال. تم تطويرها من شبه انعدام الوظائف إلى منصة عاملة بالكامل بفضل نظام تخطيط مقاعد قائم على Canvas، وتكامل دفع آمن، وإعادة تصميم شاملة لتجربة المستخدم.
Welldone - نظام إدارة المغاسل الصناعية
حل يجمع بين تطبيق جوال ولوحة ويب لرقمنة عمليات الطلبات والشحن والتصنيف والتغليف على منصة واحدة.
لنستخدم هذه التقنية في مشروعك
فريقنا متخصص في هذه التقنية. دعنا نقيّم مشروعك معًا.
اطلب استشارة مجانية