HyperLogLog算法是法國人Philippe Flajolet 教授發(fā)明的一種基數(shù)計數(shù)概率算法,每個 HyperLogLog 鍵只需要花費(fèi) 12 KB 內(nèi)存,就可以計算接近 2^64 個不同元素的基數(shù)。HyperLogLog 適用于大數(shù)據(jù)量的去重統(tǒng)計,HyperLogLog 提供不精確的去重計數(shù)方案,雖然不精確但是也不是非常不精確,標(biāo)準(zhǔn)誤差是 0.81%, 因次成本相對來說是很低的,最多也就占用 12kb 內(nèi)存,在 Redis 在 2.8.9 版本才添加了 HyperLogLog。
1.pfadd key element [element ]
添加成功影響基數(shù)估值則返回1否則返回0
pfadd keyword a b c d e f g
pfadd keyword e
2.pfcount key [key ]
統(tǒng)計key的基數(shù)值,返回值是一個帶有 0.81% 標(biāo)準(zhǔn)錯誤(standard error)的近似值
pfcount keyword #a-g 7個
pfadd word c d e f g h i j k
pfcount word #c-k 9個
pfcount keyword word #a-k 11個
3.pfmerge destkey sourcekey [sourcekey]
取多個key的并集
127.0.0.1:6379> pfmerge keyword word #a-k
OK
127.0.0.1:6379> pfcount keyword
(integer) 11
文章來源:http://www.zghlxwxcb.cn/news/detail-511555.html
4.總結(jié)
常用于允許容錯的大數(shù)據(jù)量統(tǒng)計,如統(tǒng)計注冊 IP 數(shù),統(tǒng)計頁面實(shí)時 UV 數(shù),統(tǒng)計每日訪問 IP 數(shù),統(tǒng)計用戶每天搜索不同詞條的個數(shù)
統(tǒng)計在線用戶數(shù),統(tǒng)計PV 數(shù)…
UV(Unique visitor): 是指從00:00-24:00內(nèi)相同的客戶端的單次或者多次訪問標(biāo)記為一次訪問。
PV(Page View):即頁面瀏覽量或點(diǎn)擊量,相同客戶端的每次訪問都會使得統(tǒng)計量+1.文章來源地址http://www.zghlxwxcb.cn/news/detail-511555.html
到了這里,關(guān)于Redis中3大特殊數(shù)據(jù)結(jié)構(gòu)(2)-HyperLogLog的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!