Latest web development tutorials

Redis HyperLogLog

In Redis 2.8.9 release aggiunge la struttura HyperLogLog.

Base Redis HyperLogLog è usato per fare algoritmi statistici HyperLogLog vantaggio è che il numero di elementi in ingresso o il volume è molto grande, lo spazio necessario per la base di calcolo è sempre fisso, ed è molto piccola.

In Redis all'interno di ogni tasto HyperLogLog richiede solo 12 KB di memoria, è possibile calcolare la base più vicina 2 ^ 64 elementi diversi. Questo è quando la base di calcolo, più intensivo della memoria elementi di una collezione del contrasto più netto.

Tuttavia, poiché HyperLogLog basata solo sulla base di calcolo elemento di input, ma non memorizza l'elemento di input stessa, in modo che la raccolta HyperLogLog non piace tornare ai rispettivi elementi di input.


Qual è la base?

Ad esempio, l'insieme di dati {1, 3, 5, 7, 5, 7, 8}, quindi la cardinalità dell'insieme di set di dati è {1, 3, 5, 7, 8} (elementi non ripetuti), base 5. errore di stima cardinalità è in un range accettabile, base di calcolo veloce.


Esempi

L'esempio seguente dimostra l'HyperLogLog processo di lavoro:

redis 127.0.0.1:6379> PFADD w3bigkey "redis"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mongodb"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mysql"

1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3bigkey

(integer) 3

comando Redis HyperLogLog

La seguente tabella elenca i comandi di base Redis HyperLogLog:

No. Comando e descrizione
1 PFADD elemento chiave [elemento ...]
Aggiunge l'elemento specificato a HyperLogLog in.
2 chiave PFCOUNT [key ...]
I ritorni dato stime della cardinalità HyperLogLog.
3 PFMERGE destkey sourcekey [sourcekey ...]
Molteplici HyperLogLog in uno HyperLogLog