Latest web development tutorials

Redis HyperLogLog

В Redis 2.8.9 релиз добавляет структуру HyperLogLog.

Redis HyperLogLog база используется для статистических алгоритмов HyperLogLog преимущество состоит в том, что число элементов во входных данных или объем очень очень большой, пространство, необходимое для основе расчета всегда фиксирована, и очень мало.

В Redis внутри каждого ключа HyperLogLog занимает всего 12 Кб памяти, можно вычислить ближе всего по основанию 2 ^ 64 различных элементов. Это когда расчетная база, тем больше памяти ресурсоемких элементы коллекции более разительный контраст.

Однако, поскольку HyperLogLog только на основе на основе расчета входного элемента, но не хранит сам входной элемент, так что коллекция HyperLogLog не хотел вернуться к соответствующим входным элементам.


Что такое база?

Например, набор данных {1, 3, 5, 7, 5, 7, 8}, то мощность множества набора данных {1, 3, 5, 7, 8}, основание (не повторяющимися элементами) 5. Cardinality ошибка оценки находится в пределах приемлемого диапазона, быстрой расчетной базы.


примеров

Следующий пример демонстрирует процесс работы 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

В следующей таблице перечислены основные команды Redis HyperLogLog:

Нет. Команда и описание
1 Ключевой элемент PFADD [элемент ...]
Добавляет указанный элемент к HyperLogLog в.
2 ключ PFCOUNT [ключ ...]
Возвращает дал оценки HyperLogLog мощности.
3 PFMERGE destkey sourcekey [sourcekey ...]
Множественный HyperLogLog в один HyperLogLog