English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis ha aggiunto la struttura HyperLogLog nella versione 2.8.9.
Redis HyperLogLog è un algoritmo utilizzato per fare statistiche di base. Uno dei vantaggi di HyperLogLog è che, quando il numero o la quantità di elementi di input è molto grande, lo spazio richiesto per calcolare il numero di base è sempre fisso e molto piccolo.
In Redis, ogni chiave HyperLogLog richiede solo 12 KB di memoria per calcolare quasi 2^64 elementi diversi di base numeri. Questo contrasta fortemente con gli insiemi, dove più elementi ci sono, più memoria viene utilizzata per calcolare il numero di base.
Ma poiché HyperLogLog calcola il numero di base solo in base agli elementi di input e non memorizza gli elementi di input stessi, quindi HyperLogLog non può restituire gli elementi di input come un insieme.
Ad esempio, il set di dati {1, 3, 5, 7, 5, 7, 8}, allora l'insieme di base di questo set di dati è {1, 3, 5, 7, 8}, e il numero di base (elementi non ripetuti) è 5. La stima della base è calcolare rapidamente il numero di base entro un margine di errore accettabile.
Esempi seguenti illustrano il funzionamento di HyperLogLog:
redis 127.0.0.1:6379> PFADD w3codeboxkey "redis" 1) (intero) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mongodb" 1) (intero) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mysql" 1) (intero) 1 redis 127.0.0.1:6379> PFCOUNT w3codeboxkey (intero) 3
La tabella seguente elenca i comandi di base di redis HyperLogLog:
Numero di sequenza | Comando e descrizione |
---|---|
1 | PFADD key element [element ...] Aggiungi l'elemento specificato al HyperLogLog. |
2 | PFCOUNT key [key ...] Restituisci l'估值 dell'intersezione per il HyperLogLog dato. |
3 | PFMERGE destkey sourcekey [sourcekey ...] Unisci più HyperLogLog in un HyperLogLog singolo |