redis特殊数据类型Hyperloglog
简介
Redis 2.8.9 版本就更新了Hyperloglog 数据结构
Redis Hyperloglog 基数统计的算法
优点:占用的内存是固定,2^64不同的元素的基数,只需要费12kb内存,如果要从内存角度来比较的话Hyperloglog首选
网页的UV(一个人访问一个 网站多次,但是还是算作一个人)
传统的方式,set保存用户的id,然后可以统计set中的元素数量作为标准判断
这种方式如果保存大量的用户id,就会比较麻烦,我们的目的是为了计数,而不是去保存id
0.81%错误率!统计UV任务,可以忽略不计!
测试使用
127.0.0.1:6379> PFADD mykey a b c d e f g #创建第一组元素 (integer) 1 127.0.0.1:6379> PFCOUNT mykey #统计基数元素数量 (integer) 7 127.0.0.1:6379> PFADD key i j z x c v b n m #创建第二组元素 (integer) 1 127.0.0.1:6379> PFCOUNT key #统计基数元素数量 (integer) 9 127.0.0.1:6379> PFMERGE key1 key mykey #合并第一组第二组的基数元素到第三组 OK 127.0.0.1:6379> PFCOUNT key1 (integer) 14
如果允许容错,那么一定可以使用Hyperloglog
学习参考狂神说java