说明
说明是基数
数据集:{1,1,2,6,7,8,9}
那么这个数据的基数集
为: {1,2,6,7,8,9}
hyperloglogs 优势
- 在输入元素的数量或者体积
非常非常大
时,计算基数所需的空间总是固定
的、并且是很小的
。 - 每个 HyperLogLog 键只需要花费
12 KB
内存,就可以计算接近2^64
个不同元素
的基数。
使用
添加元素
pfadd k element [element ...]
127.0.0.1:6379> PFADD k a b c d d (integer) 1
统计基数
pfcount k key [key ...]
127.0.0.1:6379> pfcount k (integer) 4
合并多个 HyperLogLog
pfmerge destkey sourcekey [sourcekey ...]
- destkey:合并结果保存的 HyperLogLog 集
127.0.0.1:6379> pfadd kk a s d f g g (integer) 1 127.0.0.1:6379> pfmerge key kk k OK 127.0.0.1:6379> pfcount key (integer) 7
使用场景
网页的UV统计
传统的方式,set 存储用户的id,然后取统计元素的数量,如果这种方式要保存大量的用户id,就很麻烦。统计UV是为了计数,而不是保存用户id
版权声明:《 【redis】三大特殊类型:hyperloglogs 基数统计 》为明妃原创文章,转载请注明出处!
最后编辑:2022-1-27 07:01:35