Redis SCARD

Redis Scard



'مجموعات Redis هي مجموعات غير مرتبة من السلاسل التي لا تحتوي على تكرارات. هذه تشبه إلى حد كبير مجموعات Java HashSets ، ومجموعات Python ، وما إلى ذلك ، والأهم من ذلك ، أن العمليات الأساسية مثل إضافة عضو وإزالته والتحقق من وجوده تتسم بكفاءة عالية لأنها تعمل في تعقيد زمني O (1). '

أعضاء مجموعة

كما ذكرنا ، تحتوي مجموعات Redis على عناصر سلسلة فريدة. لن تقبل مجموعات Redis العناصر الموجودة بالفعل وسيتم تجاهلها. علاوة على ذلك ، يمكن لمجموعة واحدة حمل ما يصل إلى 4 مليارات سلسلة فريدة.









تأتي طبيعة مجموعة Redis المتمثلة في الاحتفاظ بالأعضاء الفريدين في متناول اليد في العديد من حالات الاستخدام الواقعية.



  • القدرة على أداء عمليات المجموعة القياسية مثل الاتحاد والتقاطع والفرق.
  • تتبع الزوار الفريدين لموقع الويب
  • تمثل علاقات الكيانات في العالم الحقيقي

أمر SCARD

يُرجع الأمر SCARD ، وهو اختصار لـ Set Cardinality ، عدد الأعضاء في مجموعة مخزنة في مفتاح معين. إنه يعمل في حالة تعقيد الوقت O (1) مما يعني أن الوقت الذي يستغرقه تنفيذ أمر SCARD لا يعتمد على عدد الأعضاء في المجموعة المحددة. دائما يأخذ وقتا ثابتا.





الأمر SCARD له صيغة بسيطة للغاية ، كما هو موضح في ما يلي.

SCARD set_key

زر التجهيز او التنصيب: مفتاح مجموعة Redis



يقوم هذا الأمر بإرجاع قيمة عدد صحيح يمثل عدد الأعضاء في المجموعة.

حالة الاستخدام - احسب عدد الزائرين الفريدين لموقع الويب

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

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

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

SADD YummyPizza الزوار: أكتوبر جون ماري رضا ستوينيس برنس

كما هو متوقع ، تم إرجاع العدد الصحيح 5 ، مما يعني إضافة الأعضاء الخمسة إلى المجموعة المخزنة في المفتاح ' الزوار: أكتوبر. '

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

دعونا ننفذ أمر SCARD على المجموعة المخزنة في المفتاح ' الزوار: أكتوبر. '

سكارد YummyPizza الزوار: أكتوبر

الناتج هو 5 ، مما يعني أن خمسة أعضاء فريدين في المجموعة المحددة. يتم تنفيذ هذا الأمر بسرعة كبيرة. لا يهم خمسة أعضاء أو 50000 عضو. سيكون وقت التنفيذ ثابتًا.

افترض أن مفتاح المجموعة المحدد غير موجود في قاعدة بيانات Redis. بعد ذلك ، سيكون الناتج 0 ، كما هو موضح في المثال التالي. في هذه الحالة ، سنقوم بتحديد مفتاح غير موجود في قاعدة البيانات.

تحريف NonExistingKey

استنتاج

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