1. 程式人生 > >Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge)

Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge)

返回 tro 集合 pre col key style 就是 values

redis HyperLogLog 可以接受多個元素作為輸入,並給出輸入元素的基數估算值.

基數:集合中不同元素的數量。比如 [foo‘, ‘bar‘, ‘foobar‘, ‘bar‘, ‘test‘}]的基數就是 4.

HyperLogLog 只提供了三個函數:pfadd、pfcount、pfmerge

pfadd:

添加指定元素到 HyperLogLog 中。

pfadd(key, *values)

返回值

整型,如果至少有個元素被添加返回 1, 否則返回 0。

pfcount:

返回指定 HyperLogLog 的基數值。

pfmerge:

將多個 HyperLogLog 合並為一個 HyperLogLog。

實例:

>>> import redis
>>> r = redis.Redis()
>>> r.pfadd(hyperlog1, *[foo, bar, foo, foobar, test])
1
>>> r.pfcount(hyperlog1)
4
>>> r.pfadd(hyperlog2, *[foo, bar, man, xie, xiemanrui])
1
>>> r.pfcount(hyperlog2)
5
>>> r.pfmerge(
hyperlog1, hyperlog2) True >>> r.pfcount(hyperlog1) 7 >>>

Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge)