欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計(jì)算法講解

 更新時(shí)間:2022年05月31日 10:57:18   作者:把蘋果咬哭的測(cè)試筆記  
這篇文章主要為大家介紹了Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計(jì)算法講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Redis HyperLogLog基數(shù)統(tǒng)計(jì)

HyperLogLog 是用來做基數(shù)統(tǒng)計(jì)的算法。

先了解下什么是基數(shù)。

比如數(shù)據(jù)集{1, 3, 5, 7, 5, 7, 8},那么這個(gè)數(shù)據(jù)集的基數(shù)集為{1, 3, 5 ,7, 8},基數(shù)(不重復(fù)元素)為5。

如果,現(xiàn)在需要統(tǒng)計(jì)一下網(wǎng)頁的UV,那么就會(huì)涉及到去重了,這種場(chǎng)景就很適合用HyperLogLog。

這不就是set集合嘛?我用set來得出不重復(fù)的元素也可以呀。

沒錯(cuò),是可以,但是當(dāng)數(shù)據(jù)量非常大的時(shí)候,你這個(gè)set是不是會(huì)占用非常大的內(nèi)存呢?
如果用HyperLogLog來處理就好了,因?yàn)樗?jì)算基數(shù)所需要的空間是一定的,只要12kb,就可以計(jì)算接近 2^64 個(gè)不同元素的基數(shù)。

但是注意在這個(gè)數(shù)量級(jí)下,是會(huì)存在0.81%的錯(cuò)誤率的,所以說具體還得看業(yè)務(wù)是否可以接受這樣的錯(cuò)誤率。
像上面說的統(tǒng)計(jì)UV的場(chǎng)景,這點(diǎn)錯(cuò)誤率是可以忽略的。

一、pfadd

將所有元素參數(shù)添加到 HyperLogLog 數(shù)據(jù)結(jié)構(gòu)中。

pfadd mypf 1 2 3 a b c 3 4 5 c d a

二、pfcount

返回給定 HyperLogLog 的基數(shù)估算值。

pfcount mypf

可以看到,返回的是9,也就是不重復(fù)的元素?cái)?shù)量有9個(gè)。

三、pfmerge

將多個(gè) HyperLogLog 合并為一個(gè) HyperLogLog ,合并后的 HyperLogLog 的基數(shù)估算值是通過對(duì)所有 給定 HyperLogLog 進(jìn)行并集計(jì)算得出的。

pfmerge mypftotal mypf3 mypf4

mypf3、mypf4合并到mypftotal 上。

以上就是Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計(jì)算法講解的詳細(xì)內(nèi)容,更多關(guān)于Redis HyperLogLog基數(shù)統(tǒng)計(jì)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Redis持久化策略解讀以及如何選擇

    Redis持久化策略解讀以及如何選擇

    這篇文章主要介紹了Redis持久化策略解讀以及如何選擇問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • redis秒殺系統(tǒng)的實(shí)現(xiàn)

    redis秒殺系統(tǒng)的實(shí)現(xiàn)

    秒殺在很多活動(dòng)大促中都可以用到,本文主要介紹了redis秒殺系統(tǒng)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Redis 有序集合的使用場(chǎng)景

    Redis 有序集合的使用場(chǎng)景

    在Redis的學(xué)習(xí)中,有序集合是一種非常實(shí)用的數(shù)據(jù)結(jié)構(gòu),本文就來介紹一下Redis 有序集合的使用場(chǎng)景,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Redis中的Lettuce使用詳解

    Redis中的Lettuce使用詳解

    Lettuce 是一個(gè)高級(jí)的、線程安全的 Redis 客戶端,用于與 Redis 數(shù)據(jù)庫交互,Lettuce 是一個(gè)功能強(qiáng)大、使用方便的 Redis 客戶端,適用于各種規(guī)模的 Java 項(xiàng)目,下面給大家介紹Redis中的Lettuce使用詳解,感興趣的朋友一起看看吧
    2025-05-05
  • redis中事務(wù)機(jī)制及樂觀鎖的實(shí)現(xiàn)

    redis中事務(wù)機(jī)制及樂觀鎖的實(shí)現(xiàn)

    這篇文章主要介紹了redis中事務(wù)機(jī)制及樂觀鎖的相關(guān)內(nèi)容,通過事務(wù)的執(zhí)行分析Redis樂觀鎖,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • redis-cli常用命令使用詳解

    redis-cli常用命令使用詳解

    這篇文章主要介紹了redis-cli常用命令使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Redis高級(jí)數(shù)據(jù)類型Hyperloglog、Bitmap的使用

    Redis高級(jí)數(shù)據(jù)類型Hyperloglog、Bitmap的使用

    很多小伙伴在面試中都會(huì)被問道 Redis的常用數(shù)據(jù)結(jié)構(gòu)有哪些?可能很大一部分回答都是 string、hash、list、set、zset,但其實(shí)還有Hyperloglog和Bitmap,本文就來介紹一下
    2021-05-05
  • redis批量刪除key的步驟

    redis批量刪除key的步驟

    本文分享最新版Redis批量刪除key的方法,希望能幫到遇到同樣問題的網(wǎng)友。
    2020-09-09
  • Redis Cluster集群主從切換的踩坑與填坑

    Redis Cluster集群主從切換的踩坑與填坑

    這篇文章主要介紹了Redis Cluster集群主從切換的踩坑與填坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 深入了解Redis的看門狗機(jī)制

    深入了解Redis的看門狗機(jī)制

    Redis鎖的延期機(jī)制,通常被稱為看門狗機(jī)制,本文就拉介紹一下Redis的看門狗機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12

最新評(píng)論