Redis-HyperLogLog
2020-05-19 本文已影响0人
lv_shun
一种针对大数据的统计方案,可以记录某个页面使用的用户数(去重),如果使用set的话,上亿的数据占用内存会很高,这时可以使用HyperLogLog来解决。
使用比较简单一共三个命令:
- PDADD key value:给key添加value,去重,重复返回0
- PDCOUNT key:查看key的数量,有误差,控制在0.81%之内
- PFMERGE h3 h1 h2:将h1和h2内的数据进行合并,生成h3。在有些维度可以重合的时候,例如:A活动订单和B活动订单,这里有些人可以同时参与A和B两种活动,然后想统计总订单时,可以使用此命令。
HyperLogLog使用也同样存在弊端,例如存在误差,如果要精确统计时,不适用。还有HyperLogLog在数据量比较大时,会占用12K的空间,但是相比set数据结构,还是比较小的。