"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ريديس 2

ريديس 2

تم النشر بتاريخ 2024-08-15
تصفح:490

Redis 2

Redis - القوائم والمجموعات وHashMaps

هذا استمرار للمدونة السابقة

هناك 3 أنواع بيانات أخرى متاحة بخلاف أزواج القيمة الرئيسية

القوائم

يشبه هيكل البيانات هذا القائمة الموجودة في Python أو المصفوفة في Javascript أو C#. يمكن استخدامها للاحتفاظ بالعناصر المستخدمة مؤخرًا. العمليات المشتركة هي؛

العمليات الشرح أمثلة مزيد من الشرح
LPUSH إضافة عنصر إلى بداية القائمة أصدقاء LPUSH "صوفيا" مشابه لـ Array.unshift في جافا سكريبت
النطاق الكبير الحصول على كافة العناصر الموجودة في القائمة أصدقاء المدى الطويل 0 -1 بالمثل، القائمة في python 0 هي العنصر الأول و-1 هي العنصر الأخير
RPUSH إضافة عنصر إلى نهاية القائمة أصدقاء RPUSH "بو" مشابه لـ Array.push في جافا سكريبت
LPOP إزالة عنصر من بداية القائمة أصدقاء LPOP "بو" سيتم إرجاع 1 إذا كان Poe موجودًا في القائمة و0 بخلاف ذلك
RPOP إزالة عنصر من نهاية القائمة أصدقاء RPOP "صوفيا" سيتم إرجاع 1 إذا كانت صوفيا موجودة في القائمة و0 بخلاف ذلك

مجموعات

بنية بيانات تحتوي على عناصر فريدة فقط. تشبه المجموعات في Python والمجموعات في Javascript وHashSets في C#. تشمل العمليات المشتركة؛

العمليات الشرح أمثلة مزيد من الشرح
الساد إضافة قيمة إلى المجموعة ألوان SADD "الوردي"
الأعضاء إرجاع أعضاء المجموعة ألوان الأعضاء سيتم إرجاع جميع العناصر بالألوان المحددة
سريم إزالة أعضاء المجموعة ألوان SREM "وردي" سيتم إرجاع 1 إذا كان اللون الوردي موجودًا في القائمة و0 بخلاف ذلك

خرائط التجزئة

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

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

يمكن استخدام الأمر HGET للحصول على قيمة مفتاح معين في خريطة التجزئة

HGET person name # returns "Joe"

أمر HGETALL كل زوج القيمة الرئيسية في علامة التجزئة

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

يقوم الأمر HDEL بحذف زوج المفتاح والقيمة من خلال مفتاحه

HDEL person name # removes {name : joe}

يتحقق الأمر HEXISTS من وجود مفتاح في مجموعة التجزئة

HEXISTS person name # returns 0 because we've deleted it before

تلك هي معظم الأوامر الأساسية التي يجب على المطور معرفتها.


أسئلة المقابلة الشائعة

  1. ما هو المعنى الكامل لـ Redis؟ : Redis يرمز إلى REmote DIctionary Server

  2. كيف يختلف redis عن قواعد البيانات التقليدية مثل MySQL؟ : يعمل Redis في الذاكرة الرئيسية ولديه عمليات أساسية للوصول إلى القيم بسرعة على عكس SQL الذي يوجد على القرص ولديه مجموعة واسعة من العمليات الأولية

  3. ما هي حدود Redis فيما يتعلق بحجم البيانات ونوعها؟ : تم تصميم Redis للاحتفاظ بالقيم التي تناسب ذاكرة الجهاز. إنها ليست مناسبة للنماذج العلائقية المعقدة ذات الصلات أو لبناء النقط الكبيرة

  4. كيف يمكنك التعامل مع التخزين المؤقت في بيئة موزعة باستخدام Redis؟ : التعامل مع التخزين المؤقت عن طريق إعداد مثيلات redis كطبقة تخزين مؤقت أمام قاعدة البيانات. يؤدي استخدام التجزئة المتسقة لتوزيع المفاتيح عبر عقد ذاكرة التخزين المؤقت إلى توزيع التحميل بشكل متساوٍ ويقلل من أخطاء ذاكرة التخزين المؤقت

  5. متى يجب عليك استخدام أنواع بيانات القائمة في Redis؟ : القوائم رائعة لقوائم الانتظار الذرية المتينة، ولقائمة انتظار المهام، والسجلات، والمخازن المؤقتة والعديد من حالات الاستخدام الأخرى

بيان الافراج تم نشر هذه المقالة على: https://dev.to/ezekiel_77/redis-2-fec?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3