Redis HyperLogLog

Redis HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 結(jié)構(gòu)。

Redis HyperLogLog 是用來做基數(shù)統(tǒng)計(jì)的算法,HyperLogLog 的優(yōu)點(diǎn)是,在輸入元素的數(shù)量或者體積非常非常大時(shí),計(jì)算基數(shù)所需的空間總是固定 的、并且是很小的。

在 Redis 里面,每個(gè) HyperLogLog 鍵只需要花費(fèi) 12 KB 內(nèi)存,就可以計(jì)算接近 2^64 個(gè)不同元素的基 數(shù)。這和計(jì)算基數(shù)時(shí),元素越多耗費(fèi)內(nèi)存就越多的集合形成鮮明對比。

但是,因?yàn)?HyperLogLog 只會(huì)根據(jù)輸入元素來計(jì)算基數(shù),而不會(huì)儲(chǔ)存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個(gè)元素。


什么是基數(shù)?

比如數(shù)據(jù)集 {1, 3, 5, 7, 5, 7, 8}, 那么這個(gè)數(shù)據(jù)集的基數(shù)集為 {1, 3, 5 ,7, 8}, 基數(shù)(不重復(fù)元素)為5。 基數(shù)估計(jì)就是在誤差可接受的范圍內(nèi),快速計(jì)算基數(shù)。

Redis HyperLogLog 命令

下表列出了 redis HyperLogLog 的基本命令:

1> pfadd 命令:添加指定元素到 HyperLogLog 中

格式:PFADD key element [element ...]

2> pfcount 命令:返回給定 HyperLogLog 的基數(shù)估算值

格式:PFCOUNT key [key ...]

3> pfmerge 命令:將多個(gè) HyperLogLog 合并為一個(gè) HyperLogLog

格式:PFMERGE destkey sourcekey [sourcekey ...]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • NOSQL類型簡介鍵值對:會(huì)使用到一個(gè)哈希表,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis,volde...
    MicoCube閱讀 4,150評論 2 27
  • Redis 簡介 Redis 是完全開源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-value數(shù)據(jù)庫。 Redi...
    陳小陌丿閱讀 14,086評論 0 2
  • 1.1 資料 ,最好的入門小冊子,可以先于一切文檔之前看,免費(fèi)。 作者Antirez的博客,Antirez維護(hù)的R...
    JefferyLcm閱讀 17,293評論 1 51
  • Redis命令運(yùn)行于redis服務(wù)器上,要在服務(wù)器上運(yùn)行命令需要一個(gè)redis客戶端,在安裝Redis安裝包時(shí),我...
    第八共同體閱讀 264評論 0 0
  • 廣寒宮里常年下著雪 陪著不老不死的絕世美人 我搗藥搗桂花搗慘淡月光 人間的鑼鼓聲飛上了天 我看見那滿是落紅的小徑上...
    杮下賣酒閱讀 364評論 0 2

友情鏈接更多精彩內(nèi)容