基数:集合中不重复元素的个数。
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
浙公网安备 33010602011771号