一、数据结构
实质字符串,基于基数算法,利用极小的内存空间完成独立总数的统计。
二、常用指令三个
1、pfadd key element[element...]
pfadd user:view:20200822 "uuid1" "uuid2" "uuid3"
2、pfcount key [key...]
pfcount user:view:20200822
3、pfmerge destkey sourcekey[sourcekey...]
pfmerge user:view:20200822_20200823 user:view:20200822 user:view:20200823
pfcount user:view:20200822_20200823
三、使用场景:主要用于统计独立总数,譬如微博统计日活数,月活数
注意:
1、只为了统计总数,而不需要获取单条数据。
2、允许一定范围误差。毕竟节省内存。官方百万误差率0.81%
四、HLL和Bitmaps的区别
1、Bitmaps可以获取单条数据,如获取某id用户某天是否访问过网站,HLL 则不行。
2、Bitmaps无误差,但HHL 海量数据下更节省内存。
3、Bitmaps 可汇总的指令多,and/or/not/xor 等,HLL 只可以求并集。