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

posted @ 2021-05-14 23:33  SunnyBigBoy  阅读(52)  评论(0)    收藏  举报