Redis HyperLogLog
Redis HyperLogLog是一种使用随机化算法来近似计算集合中唯一元素数量的算法,它只需要使用恒定且小量的内存。
HyperLogLog能够在很小的内存占用下提供非常准确的集合基数近似值,每个键约占用12k字节,标准误差为0.81%。除非你接近2^64个项目,否则没有计算项数量的限制。
示例
以下示例解释了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 key element [element …] 将指定的元素添加到指定的HyperLogLog中。 |
2 | PFCOUNT key [key …] 返回在键(s)上观察到的HyperLogLog集合的近似基数。 |
3 | PFMERGE destkey sourcekey [sourcekey …] 将N个不同的HyperLogLog合并为一个。 |