redis HyperLogLog 可以接受多个元素作为输入,并给出输入元素的基数估算值。
HyperLogLog 只提供了三个函数:pfadd、pfcount、pfmerge
- pfadd:添加指定元素到 HyperLogLog 中。
- pfcount:返回指定 HyperLogLog 的基数值。
- pfmerge:将多个 HyperLogLog 合并为一个 HyperLogLog。
示例代码:
import redis
res = redis.from_url('redis://192.168.124.49')
print(res)
a = res.pfadd('hyperlog1', *['aa', 'bb', 'cc', 'aa', 'dd'])
print(a)
b = res.pfcount('hyperlog1')
print(b)
c = res.pfadd('hyperlog2', *['aa', 'bb', 'ccc', 'ddd', 'eee'])
print(c)
d = res.pfmerge('hyperlog1', 'hyperlog2')
print(d)
e = res.pfcount('hyperlog1')
print(e)
运行结果:
将上述代码再次执行一遍:
在redis数据库中查看: