redis(六)Hyperloglog 基数统计的用法

Hyperloglog 基数统计

什么是基数

A {1,3,5,8,7,7}

B {1,3,5,7,8}

查找不重复的数的个数 都是5

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[1]> PFADD num a b c d e f g h i j  # 创建第一组元素  num
(integer) 1
127.0.0.1:6379[1]> PFADD num1 i j m n v c x z # 创建第二组元素  num1
(integer) 1
127.0.0.1:6379[1]> PFCOUNT num  # 查看第一组元素的个数
(integer) 10
127.0.0.1:6379[1]> PFCOUNT num1 # 查看第二组元素的个数
(integer) 8
127.0.0.1:6379[1]> PFMERGE num_ter num num1 # 合并num和num1并生成num_ter
OK
127.0.0.1:6379[1]> PFCOUNT num_ter # 查看num_ter的个数
(integer) 15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值