Latest web development tutorials

Redis HyperLogLog

In Redis 2.8.9 Version fügt HyperLogLog Struktur.

Redis HyperLogLog Base verwendet statistische Algorithmen machen HyperLogLog Vorteil ist, dass die Anzahl der Elemente in dem Eingabe oder Volumen sehr sehr groß ist, der Raum für die Berechnungsgrundlage benötigt wird, immer festgelegt, und ist sehr klein.

In Redis innerhalb jeder Taste HyperLogLog dauert nur 12 KB Speicher, können Sie den nächstgelegenen Basis 2 ^ 64 verschiedene Elemente berechnen. Dies ist, wenn die Berechnungsbasis, desto mehr speicherintensive Elemente aus einer Sammlung der mehr Kontrast.

Da jedoch HyperLogLog nur auf dem Eingangselement Berechnungsbasis basiert, aber nicht speichert das Eingabeelement selbst, so dass die Sammlung HyperLogLog nicht auf die jeweiligen Eingangselemente zurückkommen.


Was ist die Basis?

Zum Beispiel kann die Datenmenge {1, 3, 5, 7, 5, 7, 8}, dann ist die Mächtigkeit der Menge von Daten Menge {1, 3, 5, 7, 8}, Basis (nicht wiederholenden Elementen) 5. Cardinality Schätzfehler ist in einem akzeptablen Bereich, schnelle Berechnungsbasis.


Beispiele

Das folgende Beispiel zeigt den Arbeitsprozess HyperLogLog:

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

Redis HyperLogLog Befehl

Die folgende Tabelle enthält die grundlegenden Befehle redis HyperLogLog:

Nein. Befehl und Beschreibung
1 PFADD Schlüsselelement [element ...]
Fügt das angegebene Element zu HyperLogLog in.
2 PFCOUNT Taste [key ...]
Returns HyperLogLog gegeben Kardinalitätsschätzungen.
3 PFMERGE destkey SOURCEKEY [SOURCEKEY ...]
Mehrere HyperLogLog in einem HyperLogLog