Redis HyperLogLog
Reds在2.8.9版本添加了HyperLogLog结构。
Redis HyperLogLog是用来做基数统计的算法,它的优点是在输入元素的数量或者体积非常非常大时计算基数所需要的空间总是固定的,并且是很小的。
在Redis里面,每个HyperLogLog键只需要花费12kb内存,就可以计算接近2^64个不同元素的基数。这和计算基数时,元素越多耗费内存越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
什么是基数
比如说数据集{1,3,5,7,5,8},这个数据集的基数集为{1,3,5,7,8},基数为不可重复元素,为5个,基数估计就是在误差可接受的范围内,快速计算基数。
实例
Redis HyperLogLog命令