Zusammenführen von HyperLogLogs mit PFMERGE
In diesem Schritt lernen Sie, wie Sie mehrere HyperLogLogs mit dem Befehl PFMERGE
zu einem einzigen HyperLogLog zusammenführen. Dies ist nützlich, wenn Ihre Daten auf mehrere HyperLogLogs verteilt sind und Sie eine Schätzung der Gesamtzahl der eindeutigen Elemente erhalten möchten.
PFMERGE verstehen
Der Befehl PFMERGE
führt mehrere HyperLogLogs in einem Ziel-HyperLogLog zusammen. Das Ziel-HyperLogLog enthält die Vereinigung der Elemente aus allen Quell-HyperLogLogs.
Syntax:
PFMERGE destkey sourcekey [sourcekey ...]
destkey
: Der Name des Ziel-HyperLogLog (wo das zusammengeführte Ergebnis gespeichert wird). Wenn es nicht existiert, wird es erstellt. Wenn es existiert, wird es überschrieben.
sourcekey
: Der/die Name(n) der Quell-HyperLogLogs, die zusammengeführt werden sollen.
Beispiel:
Lassen Sie uns ein neues HyperLogLog namens new_users
erstellen und ihm einige Benutzer hinzufügen.
redis-cli
PFADD new_users user8 user9 user10
exit
Lassen Sie uns nun die HyperLogLogs users
und new_users
in einem neuen HyperLogLog namens all_users
zusammenführen.
redis-cli
PFMERGE all_users users new_users
Sie sollten die folgende Ausgabe sehen:
OK
Die Antwort OK
zeigt an, dass der Zusammenführungsvorgang erfolgreich war.
Lassen Sie uns nun die Anzahl der eindeutigen Benutzer im all_users
HyperLogLog schätzen:
PFCOUNT all_users
exit
Sie sollten eine ähnliche Ausgabe wie diese sehen:
(integer) 7
Die Ausgabe (integer) 7
zeigt an, dass der HyperLogLog schätzt, dass es ungefähr 7 eindeutige Benutzer im zusammengeführten all_users
HyperLogLog gibt.
Praktische Übung:
- Verbinden Sie sich mit dem Redis-Server mit
redis-cli
.
- Verwenden Sie den Befehl
PFMERGE
, um die HyperLogLogs users
und new_users
in einem neuen HyperLogLog namens all_users
zusammenzuführen.
- Verwenden Sie den Befehl
PFCOUNT
, um die Anzahl der eindeutigen Benutzer im all_users
HyperLogLog zu schätzen.
- Verlassen Sie
redis-cli
.
PFMERGE all_users users new_users
PFCOUNT all_users
exit
Damit ist das Lab zur Verwendung von HyperLogLogs in Redis abgeschlossen. Sie haben gelernt, wie man Elemente hinzufügt, eindeutige Elemente zählt und HyperLogLogs zusammenführt.