Redis-Hyperloglog基数

什么是基数

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

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

基数(不重复的元素个数) = 5

基数可以接受误差!

简介

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

Redis Hyperloglog 基数统计的算法!

优点:占用的内存是固定,2^64 不同的元素的技术,只需要废12KB内存!如果要从内存角度来比较的话 Hyperloglog 首选!

如果允许容错,那么一定可以使用 Hyperloglog

如果不允许容错,就使用 set 或者自己的数据类型即可
 

测试使用

 

127.0.0.1:6379> PFadd mykey a b c d e f g h i j # 创建第一组元素 mykey 
(integer) 1 
127.0.0.1:6379> PFCOUNT mykey # 统计 mykey 元素的基数数量 
(integer) 10 
127.0.0.1:6379> PFadd mykey2 i j z x c v b n m # 创建第二组元素 mykey2 (
integer) 1 
127.0.0.1:6379> PFCOUNT mykey2 
(integer) 9 
127.0.0.1:6379> PFMERGE mykey3 mykey mykey2 # 合并两组 mykey mykey2 => mykey3 并集 
OK
127.0.0.1:6379> PFCOUNT mykey3 # 看并集的数量! 
(integer) 15

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值