ما Redis؟

10 مايو 2024

8 دقائق

ما Redis؟

يُعَد Redis (اختصارًا لعبارة REmote DIctionary Server) مخزن NoSQL مفتوح المصدر للبيانات بنمط المفتاح/القيمة، يعمل في الذاكرة، ويُستخدم بشكل أساسي كذاكرة مؤقتة للتطبيقات أو كقاعدة بيانات سريعة الاستجابة.

يعمل Reds على تخزين البيانات في الذاكرة بدلًا من القرص الصلب أو محركات الحالة الثابتة (SSD)، ما يوفر سرعة وأداء وموثوقية لا مثيل لها.

عند اعتماد التطبيق على مصادر بيانات خارجية، يمكن أن يؤدي زمن الانتقال ومعدل نقل البيانات لتلك المصادر إلى بطء في الأداء، خاصةً مع زيادة حركة المرور أو توسّع التطبيق. تتمثل إحدى طرق تحسين الأداء في هذه الحالات في تخزين البيانات ومعالجتها في الذاكرة، بحيث تكون أقرب فعليًا إلى التطبيق. تم تصميم Redis لهذه المهمة: فهو يخزِّن كل البيانات في الذاكرة -ما يوفر أسرع أداء ممكن عند قراءة البيانات أو كتابتها- ويوفر إمكانيات تكرار مدمجة تسمح لك بوضع البيانات أقرب فعليًا إلى المستخدم بأقل زمن انتقال.

من الخصائص الأخرى في Redis الجديرة بالذكر: دعمه لعدة هياكل بيانات، ووجود دعم مدمج للبرمجة النصية بلغة Lua، ومستويات متعددة من التخزين المستمر على القرص، والتوفُّر العالي.

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


تتوفر معارف وأخبار منسقة بمهارة حول الذكاء الاصطناعي والسحابة وغيرها في نشرة Think الإخبارية الأسبوعية. 

قدرات التمييز

يتميز Redis عن مخازن البيانات NoSQL "التقليدية" باعتباره مكونًا مساعدًا تم تصميمه خصيصًا لتحسين أداء التطبيق. فيما يلي بعض قدرات Redis المميزة:

جلسات التخزين المؤقت باستخدام Redis

مرة أخرى، وعلى عكس قواعد بيانات NoSQL مثل MongoDB وPostgreSQL، فإن Redis يخزِّن البيانات في الذاكرة الرئيسية للخادم بدلًا من الأقراص الصلبة ومحركات الحالة الصلبة. يؤدي هذا إلى أوقات استجابة أسرع بكثير عند إجراء عمليات القراءة والكتابة. كما أنه يساعد على ضمان التوافر العالي (مع Redis Sentinel) وقابلية التوسع في الخدمات وأعباء عمل التطبيقات.

قوائم انتظار Redis

يستطيع Redis ترتيب المهام في قائمة انتظار عندما تستغرق معالجتها من قِبل عملاء الويب وقتًا أطول من المعتاد. يُعَد تنظيم المهام متعددة العمليات أمرًا شائعًا في العديد من التطبيقات الحديثة المستندة إلى الويب، ويسهِّل Redis تنفيذ عمليات مكتوبة بلغة Python تعمل تلقائيًا في خلفية دورات الطلب/الاستجابة.

أنواع بيانات Redis

على الرغم من كونه من الناحية التقنية مخزنًا لقيم ومفاتيح، فإن Redis يُعَد خادمًا فعليًا لهياكل البيانات، ويدعم أنواعًا وبنى متعددة من البيانات، منها:

  • عناصر السلاسل الفريدة وغير المصنَّفة

  • البيانات الآمنة للبيانات الثنائية

  • هياكل HyperLogLogs

  • مصفوفات البت

  • التجزئة

  • القوائم

إدارة عملاء Redis

يوفر Redis قدرات تكامل أصلية مع العملاء لمساعدة المطورين على التعامل مع بياناتهم والتفاعل معها. يوجد حاليًا ما يزيد عن 100 عميل مختلف مفتوح المصدر متاح في مكتبة عملاء Redis، ويمكن للمطورين إضافة التكاملات الجديدة بسهولة لدعم الميزات واللغات البرمجية الإضافية.

Mixture of Experts | 25 أبريل، الحلقة 52

فك تشفير الذكاء الاصطناعي: تقرير إخباري أسبوعي

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

المزايا

تتضمن بعض الميزات الأكثر أهمية أو الجديرة بالملاحظة في Redis ما يلي:

Redis Sentinel

يُعَد Redis Sentinel نظام موزع مستقل يساعد المطورين على معايرة مثيلاتهم لتكون متاحة بدرجة عالية للعملاء. يستخدم Sentinel سلسلة من عمليات المراقبة والإشعارات وعمليات تجاوز الفشل التلقائية لإعلام المستخدمين عندما يكون هناك خطأ ما في المثيلات الرئيسية والتابعة، مع إعادة تكوين الاتصالات الجديدة تلقائيًا للتطبيقات عند الضرورة.

Redis Cluster

يُعَد Redis Cluster تطبيقًا موزّعًا من Redis يقوم تلقائيًا بتقسيم مجموعات البيانات بين عدة عُقد. يدعم هذا أداءً أعلى وقابلية أكبر للتوسع في نشر قواعد البيانات، مع ضمان استمرارية التشغيل في حال تعذُّر تواصل بعض العُقد مع بقية المجموعة.

Redis Pub/Sub

نظرًا لأن Redis يدعم استخدام أوامر النشر والاشتراك (Pub/Sub)، يمكن للمستخدمين تصميم خدمات دردشة ومراسلة عالية الأداء عبر جميع تطبيقاتهم وخدماتهم. يتضمن ذلك القدرة على استخدام هياكل بيانات القائمة لتشغيل العمليات الذَرية وقدرات الحظر.

نمط التخزين في Redis

يستخدِم Redis تخزينًا دائمًا على الأقراص مُصممًا لتحمُّل انقطاعات العمليات والعوائق في الشبكة. يستطيع Redis الاحتفاظ بمجموعات البيانات من خلال أخذ لقطات منتظمة للبيانات وإلحاق التغييرات بها فور توفرها. يمكن بعد ذلك ضبط Redis لإنشاء نسخ احتياطية من قاعدة البيانات عند الطلب أو على فترات تلقائية لضمان استمرارية البيانات وسلامتها.

Redis مقابل Memcached

يُعَد كلٌّ من Redis وMemcached من مخازن البيانات الموجودة في الذاكرة ومفتوحة المصدر، لكنهما يختلفان من حيث الميزات والفوائد. غالبًا ما يكون Memcached هو الخيار المفضل للتطبيقات البسيطة التي تتطلب موارد ذاكرة أقل، ولكنه محدود عند تخزين البيانات في شكلها المتسلسل. يوفر استخدام Redis لهياكل البيانات قدرًا أكبر من القوة عند التعامل مع مجموعات البيانات الكبيرة، بالإضافة إلى قدرة أعلى على ضبط محتوى الذاكرة المؤقتة بدقة والحفاظ على كفاءة أكبر في سيناريوهات التطبيقات المتخصصة.

Redis مقابل MongoDB

بينما يُعَد Redis مخزن بيانات في الذاكرة، تُعرَف MongoDB بأنها مخزن مستندات على الأقراص. وعلى الرغم من أن كِلا الحلين مصممان لأغراض مختلفة، إلا أنهما غالبا ما يُستخدمان معًا لزيادة سرعة وكفاءة قاعدة بيانات NoSQL. نظرًا لقدرته على التخزين المؤقت، يستطيع Redis تحديد موقع البيانات المطلوبة بسرعة كبيرة، حيث يعمل كمخزن مؤقت للاستيعاب يجعل MongoDB أكثر كفاءة وقدرة على إدارة الترددات الأكبر من تحديثات المستندات في زمن شبه حقيقي تقريبًا. وبفضل قدرة MongoDB على تخزين كميات كبيرة من البيانات وقدرة Redis على معالجتها بشكل أسرع، فإن الاقتران يوفر حلًا قويًا لإدارة قواعد البيانات لمجموعة متنوعة من حالات الاستخدام.

حالات الاستخدام

فيما يلي بعض حالات الاستخدام التي تستفيد منها الشركات عند العمل باستخدام Redis:

  • التحليلات الفورية: نظرًا لأن Redis يمكنه معالجة البيانات بزمن انتقال أقل من جزء من الألف من الثانية، فهو مثالي للتحليلات الفورية وحملات الإعلان عبر الإنترنت والعمليات التي تعتمد على الذكاء الاصطناعي أو التعلم الآلي.

  • التطبيقات التي تعتمد على الموقع: يسهِّل Redis تطوير التطبيقات والخدمات المعتمدة على الموقع من خلال توفير الفهرسة الجغرافية والمجموعات والعمليات ذات الصلة. باستخدام المجموعات المصنَّفة، يستطيع Redis إلغاء عمليات البحث التي تستغرق وقتًا طويلًا وفرز بيانات الموقع مع استخدام تطبيق التجزئة الجغرافية الذكي أيضًا.

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

تثبيت Redis

يُعَد البدء باستخدام Redis عملية سلسة إلى حد كبير، خاصةً عند استخدام Redis Desktop Manager ‏(RDM). وبما أن Redis وRDM مفتوحان المصدر، فإن مجتمعات التطوير النشطة تعمل باستمرار على تحسين كفاءتهما التشغيلية وتطوير الأدوات والتكاملات المدعومة.

للمزيد من المعلومات حول تثبيت وإعداد Redis، اتَّبِع تعليمات الإعداد في المجتمع.

حلول ذات صلة
برامج وحلول قواعد البيانات

استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.

استكشاف حلول قواعد البيانات
قاعدة بيانات السحابة الأصلية مع IBM Db2

اكتشف، IBM Db2، وهي قاعدة بيانات علائقية توفر مستوى عالٍ من الأداء وقابلية التوسع والموثوقية لتخزين وإدارة البيانات المنظمة. وتتوفر كنظام SaaS على IBM Cloud أو للاستضافة الذاتية.

اكتشف Db2
خدمات الاستشارات في مجال البيانات والتحليلات

استفِد من قيمة بيانات المؤسسة مع IBM Consulting لبناء مؤسسة تعتمد على الرؤى لتحقيق ميزة تنافسية في الأعمال.

اكتشف خدمات التحليلات
اتخِذ الخطوة التالية

استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.

استكشاف حلول قواعد البيانات اكتشف IBM Db2