Redis-HyperLogLog是用来做基数统计的算法,其最大的优点就是:在输入元素的数量或者体积非常非常大的时候,计算基数需要的空间总是固定的,并且很小。在redis中,每一个HyperLogLog只需要12KB内存,就可以计算接近2^64个不同元素的基数,这与元素越多耗费内存越大的集合形成了一个鲜明的对比。但是HyperLogLog只会根据输入元素来计算基数,不会存储输入元素本身,所以HyperLogLog不能和集合一样,返回输入的各个元素。
什么是基数?基数就是一个数据集中元素个数(重复元素只算一个)。
常用命令如下:
1.添加命令 成功添加返回1 否则返回0
pfadd key element...
2.统计基数数量
pfcount key
3.将一个或多个HyperLogLog合并到新HyperLogLog中
pfmerge destkey key1 key2...
Redis的HyperLogLog是一种用于基数统计的数据结构,它在处理大量数据时能保持恒定的内存使用,每个HyperLogLog仅需12KB。尽管不存储原始元素,但能计算近2^64个不同元素的基数。主要命令包括添加元素的pfadd,查询基数的pfcount,以及合并HyperLogLog的pfmerge。
1947

被折叠的 条评论
为什么被折叠?



