English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

HyperLogLog في Redis

أضاف Redis هيكل HyperLogLog في إصدار 2.8.9.

Redis HyperLogLog هو خوارزمية لتحليل العدد الأساسي، والفوائد هي أن مساحة حساب العدد الأساسي ثابتة عندما تكون كمية العناصر أو حجمها كبيرًا جدًا. الذكاء، وهو صغير للغاية.

في Redis، كل مفتاح HyperLogLog يتطلب فقط 12 كيلوبايت من الذاكرة لتحساب قريب من 2^64 عنصر مختلف. العدد. هذا يتعارض بشكل واضح مع المجموعات التي تستهلك ذاكرة أكبر عندما تزيد العناصر.

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

ما هو العدد الأساسي؟

على سبيل المثال، مجموعة البيانات {1، 3، 5، 7، 5، 7، 8}، فإن مجموعة الأعداد الأساسية لها هي {1، 3، 5، 7، 8}، والعدد الأساسي (العدد المختلف) هو 5. تقدير العدد الأساسي هو حساب العدد الأساسي بشكل سريع داخل نطاق الخطأ المقبول.

مثال على الإنترنت

في هذا المثال، نعرض كيف يعمل HyperLogLog:

redis 127.0.0.1:6379> PFADD w3codeboxkey "redis"
1) (رقم) 1
redis 127.0.0.1:6379> PFADD w3codeboxkey "mongodb"
1) (رقم) 1
redis 127.0.0.1:6379> PFADD w3codeboxkey "mysql"
1) (رقم) 1
redis 127.0.0.1:6379> PFCOUNT w3codeboxkey
(رقم) 3

أوامر HyperLogLog في Redis

في الجدول أدناه، قمنا بعرض الأوامر الأساسية لـ redis HyperLogLog:

الترتيبالأوامر والوصف
1PFADD key element [element ...]
إضافة العناصر المحددة إلى HyperLogLog.
2PFCOUNT key [key ...]
إرجاع تقدير القاعدة للHyperLogLog المحددة.
3PFMERGE destkey sourcekey [sourcekey ...]
دمج HyperLogLog متعددة في HyperLogLog واحدة