# HyperLogLog

HyperLogLog是一种概率数据结构,用于估计集合的基数。作为一种概率数据结构,HyperLogLog以完美的准确性换取高效的空间利用率。

# pfadd

  • 支持:是
  • 说明:将所有元素参数添加到 HyperLogLog 数据结构中。
  • 示例:
> PFADD mykey a b c d e f g h i j
(integer) 1
> PFCOUNT mykey
(integer) 10 

# pfcount

  • 支持:是
  • 说明:返回给定 HyperLogLog 的基数估算值。
  • 示例:
> PFADD hll foo bar zap
(integer) 1
> PFADD hll zap zap zap
(integer) 0
> PFADD hll foo bar
(integer) 0
> PFCOUNT hll
(integer) 3
> PFADD some-other-hll 1 2 3
(integer) 1
> PFCOUNT hll some-other-hll
(integer) 6

# pfmerge

  • 支持:是
  • 说明:将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有 给定 HyperLogLog 进行并集计算得出的。
  • 示例:
> PFADD hll1 foo bar zap a
(integer) 1
> PFADD hll2 a b c foo
(integer) 1
> PFMERGE hll3 hll1 hll2
OK
> PFCOUNT hll3
(integer) 6