1、介绍
HyperLogLog是一种数据结构集合的基数。作为一种概率数据结构,HyperLogLog以完美的精度换取有效的空间利用。Redis HyperLogLog实现最多使用12 KB,提供0.81%的标准误差。
2、基本命令
PFADD向HyperLogLog中添加项目。
> PFADD members 1
(integer) 1
> PFADD members 1
(integer) 1
> PFADD members 2
(integer) 1
PFCOUNT返回集合中项目去重数量的估计值。
> PFCOUNT members
(integer) 2
PFMERGE将两个或多个hyperloglog合并为一个。
3、用途
统计注册 IP 数
统计每日访问 IP 数
统计页面实时 UV 数
统计在线用户数
统计用户每天搜索不同词条的个数
说明:基数不大,数据量不大就用不上,会有点大材小用浪费空间
有局限性,就是只能统计基数数量,而没办法去知道具体的内容是什么
和bitmap相比,属于两种特定统计情况,简单来说,HyperLogLog 去重比 bitmap 方便很多
一般可以bitmap和hyperloglog配合使用,bitmap标识哪些用户活跃,hyperloglog计数