Объединение HyperLogLog с помощью PFMERGE
В этом шаге вы узнаете, как объединить несколько HyperLogLog в один HyperLogLog с помощью команды PFMERGE. Это полезно, когда у вас есть данные, распределенные по нескольким HyperLogLog, и вы хотите получить оценку общего количества уникальных элементов.
Понимание PFMERGE
Команда PFMERGE объединяет несколько HyperLogLog в целевой HyperLogLog. Целевой HyperLogLog будет содержать объединение элементов из всех исходных HyperLogLog.
Синтаксис:
PFMERGE destkey sourcekey [sourcekey ...]
destkey: Имя целевого HyperLogLog (куда будет сохранен объединенный результат). Если он не существует, он будет создан. Если он существует, он будет перезаписан.
sourcekey: Имя(имена) исходных HyperLogLog для объединения.
Пример:
Давайте создадим новый HyperLogLog с именем new_users и добавим в него несколько пользователей.
redis-cli
PFADD new_users user8 user9 user10
exit
Теперь давайте объединим HyperLogLog users и new_users в новый HyperLogLog с именем all_users.
redis-cli
PFMERGE all_users users new_users
Вы должны увидеть следующий вывод:
OK
Ответ OK указывает на то, что операция объединения прошла успешно.
Теперь давайте оценим количество уникальных пользователей в HyperLogLog all_users:
PFCOUNT all_users
exit
Вы должны увидеть вывод, похожий на этот:
(integer) 7
Вывод (integer) 7 указывает на то, что HyperLogLog оценивает, что в объединенном HyperLogLog all_users примерно 7 уникальных пользователей.
Практическое упражнение:
- Подключитесь к Redis-серверу, используя
redis-cli.
- Используйте команду
PFMERGE для объединения HyperLogLog users и new_users в новый HyperLogLog с именем all_users.
- Используйте команду
PFCOUNT для оценки количества уникальных пользователей в HyperLogLog all_users.
- Выйдите из
redis-cli.
PFMERGE all_users users new_users
PFCOUNT all_users
exit
На этом завершается лабораторная работа по использованию HyperLogLog в Redis. Вы узнали, как добавлять элементы, подсчитывать уникальные элементы и объединять HyperLogLog.