day11 redis HyperLogLog

redis HyperLogLog

redis 在 2.8.9 版本添加了 HyperLogLog 结构

redis HyperLogLog 是用来做基数统计的算法,HyperLogLog的优点是:在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的,并且很小。

在 redis 里,每个HyperLogLog键只需要花费12kb内存,既可以计算接近 2^64个不同元素的技术。这和计算基数时,元素越多消耗内存越多的集合形成鲜明对比。

但,HyperLogLog智慧根据输入元素来计算基数,而不会储存输入元素本身,所以Hyper不能像集合那样,返回输入的各个元素。

什么是基数

如数据集 {1,3,5,7,5,7,8} ,那么这个数据集的基数集为 {1,3,5,7,8} 。基数(不重复元素)为5。基数估计 就是在误差可接受的范围内,快速计算基数。

实例

PFADD name "redis"
1) (integer) 1
PFADD name "mongodb"
1) (integer) 1
PFADD name "mysql"
1) (integer) 1

PFCOUNT name
(integer) 3

redis HyperLogLog命令

命令描述
PFADD key element [element…]添加指定元素到 HyperLogLog 中
PFCOUNT key [key…]返回给定 HyperLogLog 的基数估算值
PFMERGE destkey sourcekey [sourcekey…]将多个 HyperLogLog 合并为一个 HyperLogLog
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值