hooyantsing's Blog

19_Hyperloglog基数统计

字数统计: 282阅读时长: 1 min
2020/08/16

19 Hyperloglog基数统计

Redis最新超详细版教程通俗易懂

Hyperloglog

特点

像set,将元素放入里面会自动去重,本身占用空间小。

简介

Redis 2.8.9 版本更新了 Hyperloglog 数据结构。

Reids Hyperloglog 基数统计的算法。

优点:占用内存是固定的,2^64,占用12kb内存。

缺点:0.81%错误率,统计UV任务,可以忽略不计。

网页的UV(一个人访问一个网站多少次,但是还算作一个人)

传统方式,set保存用户id,然后统计set中的元素作为标准判断。

这个方式如果保存大量的用户id,会占用大量的内存,浪费资源。

因此,如果实现类似功能,并且允许容错,建议使用 Hyperloglog。

总结:

  • 如果允许容错,使用 Hyperloglog
  • 如果不允许容错,使用 Set
    PFADD 向里面添加元素
1
PFADD mykey a b c d e f g h i j

PFCOUNT 统计不重复的元素数量

1
PECOUNT mykey

PFMERGE 并集,合并并且去重

参数:合并后放在哪 将要合并1 将要合并2

1
PFMERGE mykey3 mykey mykey2

3261b8fec2964cd8d14e0fc95211d1dc.png

CATALOG
  1. 1. 19 Hyperloglog基数统计
  2. 2. Hyperloglog
    1. 2.0.0.1. 网页的UV(一个人访问一个网站多少次,但是还算作一个人)