W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
HyperLogLog主要解決大數據應用中的非精確計數(可能多也可能少,但是會在一個合理的范圍)操作,它可以接受多個元素作為輸入,并給出輸入元素的基數估算值,基數指的是集合中不同元素的數量。比如 {'apple', 'banana', 'cherry', 'banana', 'apple'} 的基數就是 3 。 HyperLogLog 的優(yōu)點是,即使輸入元素的數量或者體積非常非常大,計算基數所需的空間總是固定的、并且是很小的。在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 2^64 個不同元素的基數。這和計算基數時,元素越多耗費內存就越多的集合形成鮮明對比。但是,因為 HyperLogLog 只會根據輸入元素來計算基數,而不會儲存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個元素。
關于這個數據類型的誤差:在一個大小為12k的key所存儲的hyperloglog集合基數計算的誤差是%0.81.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: