中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis中HyperLogLog的作用是什么

發布時間:2021-08-03 14:15:06 來源:億速云 閱讀:307 作者:Leah 欄目:大數據

Redis中HyperLogLog的作用是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

HyperLogLog是Redis的高級數據結構,它在做基數統計的時候非常有用,每個HyperLogLog的鍵可以計算接近264不同元素的基數,而大小只需要12KB。

 PFADD

最早可用版本:2.8.9

時間復雜度:O(1)

將參數中的元素都加入指定的HyperLogLog數據結構中,這個命令會影響基數的計算。如果執行命令之后,基數估計改變了,就返回1;否則返回0。如果指定的key不存在,那么就創建一個空的HyperLogLog數據結構。該命令也支持不指定元素而只指定鍵值,如果不存在,則會創建一個新的HyperLogLog數據結構,并且返回1;否則返回0。

    PFCOUNT

最早可用版本:2.8.9

時間復雜度:O(1),對于多個比較大的key的時間復雜度是O(N)

對于單個key,該命令返回的是指定key的近似基數,如果變量不存在,則返回0。

對于多個key,返回的是多個HyperLogLog并集的近似基數,它是通過將多個HyperLogLog合并為一個臨時的HyperLogLog,然后計算出來的。

HyperLogLog可以用很少的內存來存儲集合的唯一元素。(每個HyperLogLog只有12K加上key本身的幾個字節)

HyperLogLog的結果并不精準,錯誤率大概在0.81%。

需要注意的是:該命令會改變HyperLogLog,因此使用8個字節來存儲上一次計算的基數。所以,從技術角度來講,PFCOUNT是一個寫命令。

 
性能問題

即使理論上處理一個存儲密度大的HyperLogLog需要花費較長時間,但是當指定一個key時,PFCOUNT命令仍然具有很高的性能。這是因為PFCOUNT會緩存上一次結算的基數,而多數PFADD命令不會更新寄存器。所以才可以達到每秒上百次請求的效果。

當處理多個key時,最耗時的一步是合并操作。而通過計算出來的并集的基數是不能緩存的。所以多個key的處理速度一般在毫秒級。

 
PFMERGE

最早可用版本:2.8.9

時間復雜度:O(N),N是要合并的HyperLogLog的數量

用法:PFMERGE destkey sourcekey [sourcekey …]

合并多個HyperLogLog,合并后的基數近似于合并前的基數的并集(observed Sets)。計算完之后,將結果保存到指定的key。

除了這三個命令,我們還可以像操作String類型的數據那樣,對HyperLogLog數據使用SET和GET命令。

關于Redis中HyperLogLog的作用是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伽师县| 汉沽区| 饶河县| 金堂县| 龙海市| 神木县| 永州市| 永修县| 鲜城| 会同县| 乌拉特中旗| 宜宾县| 渑池县| 高清| 武川县| 达拉特旗| 勐海县| 静安区| 武义县| 治县。| 锡林郭勒盟| 荣昌县| 大埔县| 普陀区| 公主岭市| 东阳市| 凯里市| 阜新市| 通许县| 株洲县| 繁峙县| 房产| 博白县| 西青区| 婺源县| 墨玉县| 兴山县| 台湾省| 景德镇市| 类乌齐县| 奉新县|