Hyperloglogs
- redis中通过hyperloglogs用来进行基数统计的算法,技术估算存在一定的误差
- 优点:在输入元素的数量或者体积非常大时,计算基数所需的空间总是固定的、且很小
基数集与基数
- 基数集:一串数据集中,除去重复元素后的得到的数据集。
- 基数:基数集中数据的个数(不重复的元素的个数)
举例:
数据集:{1,3,4,8,8,4,0}
基数集:{1,3,4,8,0}
基数:5
常用命令
pfadd
添加指定数据到Hyperloglogs中:pfadd key element [element …]
可一次添加多个数据。
pfcount
返回给定 HyperLogLogs的基数估算值:pfcount key [key …]
可一次估算多个Key的基数值。
pfmerge
将多个hyperloglogs合并为一个hyperloglogs:pfmerge destkey sourcekey [sourcekey …]
destkey:目标Key
sourcekey:源key
可以看出,目标key只能有一个,源key可以有多个。
应用场景
- Hyperloglogs是用于基数统计的。