Hyperloglog
基数:不重复的元素 eg: a{1,2,3,4,5,6,7,8,1} b{1,2,3,4,5,6,7,8}基数是7
简介:Redis Hyperloglog基数统计的算法 有0.81%的错误率
应用场景
网页的UV(一个人多次访问这个网站,但是还是他一个人访问)
传统解决方式:
set保存(键不允许重复)保存用户的id,然后就可以统计set中的元素作为判断,如果这个方式保存了大量的用户id,就会比较麻烦(我们的目的是为了计算用户的访问数量,而不是保存用户的id)
优点
占用固定的内存 2^64不同的元素技术 只需要24kb的内存
创建一组元素
PFadd mykey a b c d e f
显示元素个数
PFcount mykey
合并元素
PFmerge mykey3 mykey1 mykey2 (将元素合并到mykey3)
总结
如果允许容错,可以使用Hyperloglog 如果不允许容错,就使用Set或者自己的数据类型即可