HyperLogLog并不是一种新的数据结构(实际类型为字符串类型),而是一种基数算法, 通过HyperLogLog可以利用极小的内存空间完成独立总数的统计,数据集可以是IP、 Email、 ID等。
命令
添加
pfadd key element [element …] 向HyperLogLog添加元素, 如果添加成功返回1
计算独立用户数
pfcount key [key …] 计算一个或多个HyperLogLog的独立总数
合并
pfmerge destkey sourcekey [sourcekey ...] 求出多个HyperLogLog的并集并赋值给destkey
HyperLogLog内存占用量非常小, 但是存在错误率,Redis官方给出的数字是0.81%的失误率。
开发者在进行数据结构选型时只需要确认如下两条即可:
·只为了计算独立总数, 不需要获取单条数据。
·可以容忍一定误差率, 毕竟HyperLogLog在内存的占用量上有很大的优势。