亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

越西县| 兰西县| 林周县| 鄂托克前旗| 枣强县| 白城市| 项城市| 宿松县| 神池县| 洪雅县| 郓城县| 托里县| 磐石市| 合肥市| 长顺县| 武威市| 昆山市| 婺源县| 遂溪县| 盐亭县| 静乐县| 开原市| 珲春市| 奉贤区| 商都县| 东乌珠穆沁旗| 崇州市| 黄陵县| 吉林省| 怀仁县| 固镇县| 依兰县| 汶上县| 遂川县| 华宁县| 邵阳市| 四子王旗| 会宁县| 江北区| 宁德市| 永清县|