Операции с HyperLogLog
В Managed Valkey все управление структурами HyperLogLog выполняется командами Valkey. С полным списком команд Valkey вы можете ознакомиться в официальной документации Valkey.
Обратите внимание, что в Managed Valkey некоторые команды Valkey недоступны.
Получить оценку количества уникальных элементов
Заголовок раздела «Получить оценку количества уникальных элементов»Чтобы получить оценку количества уникальных элементов, используйте команду PFCOUNT.
Подключитесь к кластеру.
Переключитесь на нужную базу данных.
Узнайте имена ключей с помощью итеративного обхода.
Проверьте тип значений исходных ключей. Для каждого существующего ключа должно вернуться значение
string.Выполните команду:
text PFCOUNT <имя ключа 1> [<имя ключа 2> ...]Для одного ключа команда вернет оценку количества уникальных элементов этой структуры. Для нескольких ключей вернется оценка по их объединению, при этом элемент, который учтен в нескольких структурах, не будет считаться отдельным элементом для каждой из них. Складывать отдельные оценки вместо этого нельзя.
Результат будет приближенным. Несуществующие ключи будут учтены как пустые HyperLogLog. Если все указанные ключи отсутствуют, вернется
0. Если значение существующего ключа не является корректным HyperLogLog, команда вернет ошибку.
Добавить элементы
Заголовок раздела «Добавить элементы»Чтобы учесть элементы в HyperLogLog, используйте команду PFADD.
Подключитесь к кластеру.
Переключитесь на нужную базу данных.
Проверьте тип значения ключа. Для существующего ключа должно вернуться значение
string.Выполните команду:
text PFADD <имя ключа> <элемент 1> [<элемент 2> ...]В команде
<элемент>— значение для учета, например идентификатор пользователя. Одинаковые значения будут учитываться как один уникальный элемент.Команда обновит внутренние данные структуры. Если ключ не существует, будет создан HyperLogLog. Вернется
1, если внутренние данные изменятся, или0, если изменений не произойдет. Этот ответ не будет количеством добавленных элементов и не подтвердит новизну каждого из них.Для создания пустого HyperLogLog выполните
PFADD <имя ключа>без элементов. Если ключ отсутствует, команда создаст структуру и вернет1, а для существующего корректного HyperLogLog вернется0.
Объединить структуры
Заголовок раздела «Объединить структуры»Чтобы объединить HyperLogLog и сохранить результат в отдельный ключ, используйте команду PFMERGE.
Подключитесь к кластеру.
Переключитесь на нужную базу данных.
Для работы с существующими ключами узнайте их имена с помощью итеративного обхода.
Выберите отдельное имя целевого ключа. Проверьте, существует ли он. Прежнее значение будет заменено результатом.
Проверьте тип значений ключей. Для каждого существующего ключа должно вернуться значение
string.Выполните команду:
text PFMERGE <имя целевого ключа> <имя ключа 1> [<имя ключа 2> ...]Команда создаст целевой HyperLogLog, объединит данные исходных структур и вернет
OK. Исходные структуры сохранятся. Несуществующие исходные ключи будут учтены как пустые HyperLogLog.Если целевой ключ уже содержит HyperLogLog, его прежние данные тоже будут включены в объединение. Это не замена прежнего набора только перечисленными источниками. Для независимого результата используйте свободное имя. Если какой-либо существующий участвующий ключ не содержит корректный HyperLogLog, команда вернет ошибку.