redis特殊数据类型Hyperloglog
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
浙公网安备 33010602011771号