Redis应用场景(七)HyperLogLog

浮生半日闲 发布于 2022-11-09 5 次阅读


HyperLogLog是一种用于基数统计的数据类型,是一种不精确的去重计算方法,统计出来的结果和实际结果误差比大概为0.81%。

1、网页UV计数

HyperLogLog存储空间采用稀疏矩阵进行存储,空间占用很小(12KB),和元素越多越消耗内存的其他类型相比,显得非常节省空间。

因此,HyperLogLog常用于百万级以上的UV计数。当然,如果需要精准的结果,那么就不要使用HyperLogLog。

使用PFADD key element命令来插入数据:

127.0.0.1:6379> PFADD uv zhangsan lisi wangwu lisi
(integer) 1

使用PFCOUNT key获取计数结果:

127.0.0.1:6379> PFCOUNT uv
(integer) 3