什么是基数?
A{1,3,4,5,6,3}
B{1,3,5,7,9}
基数(不重复的元素)=5,可以接受误差!
简介
Redis 2.8.9 版本就更新了Hyperloglog 数据结构!
Redis Hyperloglog基数统计的算法!
优点:占用的内存是固定,2^64不同的元素的技术,只需要费12kb内存!如果要从内存角度来比较的话Hyperloglog首选!
网页的UV(一个人访问一个网站多次,但是还是算作一个人!)
传统的方式,set保存用户的id,然后就可以统计set中的元素数量作为标准判断!这个方式如果保存大量的用户id,就会比较麻烦!我们的目的就是为了计数,而不是保存用户id;
0.81%错误率!统计UV任务,是可以忽略不计的!
测试使用
如果允许容错,那么一定可以使用Hyperloglog !
如果不允许容错,就使用set或者自己的数据类型即可!