马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.HyperLogLog先容
1.1 基本概念
Redis中的HyperLogLog是一种用于估算聚集中不同元素数目(即基数)的概率数据结构。它特别实用于处理非常大的数据集,与传统的精确计数方法相比,HyperLogLog可以在消耗少少量内存的情况下提供相对准确的估计值。HyperLogLog是在Redis 2.8.9版本中新增的数据类型。
什么是基数?指一个聚集中不同元素的数目。例如,聚集{1, 2, 3, 3, 4}的基数是4,由于其中有4个不同的元素。在实际应用中,可能需要统计大量数据中的不同元素数目。例如,在网页访问统计中,我们可能想要知道一天内有多少不同的IP地址访问了某个页面,这就是一个范例的基数统计问题。
HyperLogLog的原理基于伯努利试验和调和均匀数。它通过随机映射函数将输入元素映射到一个固定大小的位图中,然后通过位图中零位的数目来估算基数。为了减小弊端率,HyperLogLog利用了多个随机映射函数和希罕位图等技术。
Redis内部为每个HyperLogLog实例创建了2的14方个桶(bucket),每个桶占用6比特的空间。当有新元素加入时,HyperLogLog 会对元素进行哈希运算,得到一个哈希值。然后根据哈希值的二进制表示,确
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |