《Redis数据结构——HyperLogLog》要点:
本文介绍了Redis数据结构——HyperLogLog,希望对您有用。如果有疑问,可以联系我们。
HyperLogLog布局用于统计基数,因为基数是不重复的,所以一个大的数据集,其基数会小很多,占用很少的空间.
HyperLogLog的尺度错误是1.04 / sqrt(m),其中“m”是使用的寄存器数.
Redis使用16384个寄存器,因此尺度错误为0.81%.
由于Redis实现中使用的散列函数具有64位输出,并且我们使用14位的散列输出来寻址16k寄存器,所以剩下50位,所以我们可以遇到的最长的零运行将适合一个6位寄存器.这便是为什么Redis HyperLogLog值仅对16k寄存器使用12k字节的原因.
由于使用了64位输出功能,对付我们可以计算的集合的基数没有实际的限制.此外值得注意的是,非常小的基数的误差往往很小.
命令前缀为“PF”,以纪念Philippe Flajolet,后半部分则比拟容易记住:PFadd-增加,PFcount-统计,PFmerge-合并.
hyperloglog示例以下:
欢迎参与《Redis数据结构——HyperLogLog》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。