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

时间:2022-06-19
本文章向大家介绍Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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
>>>