Redis命令-HyperLogLog

來源:互聯網
上載者:User

標籤:

HyperLogLog資料結構簡介

    可以看http://www.cnblogs.com/ysuzhaixuefei/p/4052110.html  部落格,介紹的相對比較清晰。

    HyperLogLog資料結構,可以接收多個參數輸入,然後估算出元素的基數。

    ? 基數:集合中不同元素的數量。比如 {‘apple‘, ‘banana‘, ‘cherry‘, ‘banana‘, ‘apple‘} 的基數就是 3 。
    ? 估算值:演算法給出的基數並不是精確的,可能會比實際稍微多一些或者稍微少一些,但會控制在合
理的範圍之內。
    HyperLogLog 的優點是,即使輸入元素的數量或者體積非常非常大,計算基數所需的空間總是固定
的、並且是很小的。
    在 Redis 裡面,每個 HyperLogLog 鍵只需要花費 12 KB 記憶體,就可以計算接近 2^64 個不同元素的基
數。這和計算基數時,元素越多耗費記憶體就越多的集合形成鮮明對比。
但是,因為 HyperLogLog 只會根據輸入元素來計算基數,而不會儲存輸入元素本身,所以
HyperLogLog 不能像集合那樣,返回輸入的各個元素。

  • PFADD

    PFADD key [element ...]:將任意數量的元素添加到指定的HyperLogLog中去。相對會更新HyperLogLog內部,更改集合的基數。如果對應的HyperLogLog的基數發生變化則返回1,否則返回0。

    返回值:基數被修改返回1,否則返回0

 
  1. 127.0.0.1:6379> PFADD databases Redis Mongodb MySQL
  2. (integer) 1
  3. 127.0.0.1:6379> PFCOUNT databases
  4. (integer) 3
  5. 127.0.0.1:6379> PFADD databases Redis
  6. (integer) 0
  7. 127.0.0.1:6379> PFADD databases RedisTest
  8. (integer) 1
  9. 127.0.0.1:6379> PFCOUNT databases
  10. (integer) 4
  • PFCOUNT

    PFCOUNT key[key ... ]:PFCOUNT作用於單個key的時候,返回該key的基數。當PFCOUNT命令作用於多個key時,返回並集的近似數。

    返回值:給定hyperLogLog的基數。

  • PFMERGE

    PFMERGE destkey sourcekey[sorcekey ...]:將多個HyperLogLog合并為一個HyperLogLog,合并後 的HyperLogLog的基數接近於所有輸入的可見集合的並集。合并得出的hyperLogLog會被儲存到destkey中去。

    返回值:成功返回ok。

 
  1. 127.0.0.1:6379> PFADD nosql Redis MongoDB Memcache
  2. (integer) 1
  3. 127.0.0.1:6379> PFADD rdbms mysql mssql oracle
  4. (integer) 1

  1. 127.0.0.1:6379> PFMERGE databases nosql rdbms
  2. OK
  3. 127.0.0.1:6379> PFCOUNT databases
  4. (integer) 9

Redis命令-HyperLogLog

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.