Redis——HyperLogLog



Redis HyperLogLog 是一款使用随机化算法的算法,可以通过一个常数和少量内存对集合中唯一元素的数量提供近似值。

HyperLogLog 可以为集合基数提供非常好的近似值,即使是对于使用非常少内存(每个键约 12 KB)以及 0.81% 的标准误差的情况而言也是如此。你能计数的项目数量没有限制,除非接近 264 个项目。

示例

以下示例介绍了 Redis HyperLogLog 的工作原理。

redis 127.0.0.1:6379> PFADD tutorials "redis"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD tutorials "mongodb"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD tutorials "mysql"  
1) (integer) 1  
redis 127.0.0.1:6379> PFCOUNT tutorials  
(integer) 3 

Redis HyperLogLog 命令

下表列出了一些与 Redis HyperLogLog 相关的基本命令。

序号 命令和描述
1 PFADD 键元素 [元素 ...]

将指定元素添加到指定 HyperLogLog。

2 PFCOUNT 键 [键 ...]

返回 HyperLogLog 在键(们)观察到的集合(们)的近似基数。

3 PFMERGE 目标键 源键 [源键 ...]

将 N 个不同的 HyperLogLog 合并为一个。

广告