Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge)
阿新 • • 發佈:2018-03-18
返回 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)