基数:集合中不重复元素的个数。

redis Hyperloglog 基数统计的算法。

优点:占用的内存是固定,2^64不同的元素的技术,只需要12kb内存,如果从内存角度来比较,hyperloglog是首选。

127.0.0.1:6379> pfadd mykey a b c d e a b #创建第一组元素  mykey
(integer) 1
127.0.0.1:6379> pfcount mykey  #统计 mykey中元素的基数数量
(integer) 5
127.0.0.1:6379> pfadd mykey1 d e f g e #创建第二组元素  mykey2
(integer) 1
127.0.0.1:6379> pfcount mykey1
(integer) 4
127.0.0.1:6379> pfmerge mykey2 mykey mykey1 #合并两组至mykey2
OK
127.0.0.1:6379> pfcount mykey2 #统计mykey2中基数数量
(integer) 7

如果允许容错,那么一定可以使用Hyperloglog;如果不允许容错,就是用set或者自己的数据类型即可。

 

 posted on 2020-11-20 16:45  会飞的金鱼  阅读(102)  评论(0)    收藏  举报