Redis HyperLogLog
Redis的HyperLogLog使用随机化,以提供独特元素的数目的近似集合只使用一个常数,并且在存储器体积小,数量小内存的算法。
HyperLogLog提供,即使使用了非常少量12千字节左右内存为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相关的一些基本命令:
S.N. | 命令和说明 |
---|---|
1 |
PFADD key element [element ...] 将指定的元素添加到指定的HyperLogLog。 |
2 |
PFCOUNT key [key ...] 返回由HyperLogLog的键遵守集合的大致基数。 |
3 |
PFMERGE destkey sourcekey [sourcekey ...] 合并N个不同的HyperLogLogs成一个单一的。 |