RedisのHyperLogLog使用

まず、概念
1は、2.8.9リリースではRedisのはHyperLogLog構造が追加されます。
入力ボリュームまたは要素の数が非常に大きい場合、計算に必要な空間が常に固定ベースであり、そして非常に小さい:2、RedisのHyperLogLog基数は、統計的アルゴリズムのために使用される、HyperLogLogの利点があることです。
図3は、Redisのここで、各キーにのみ、HyperLogLogの12キロバイトのメモリを取り、ほぼ2 ^ 64の異なる基本要素を算出することができます。この計算および塩基、より多くの組の記憶素子のコスト、よりコントラスト場合。
HyperLogLog各リターン入力要素として設定するように4が、しかし、入力要素に従って計算のみHyperLogLogベースので、入力要素自体を記憶することなく、そうではありません。

カーディナリティは何である
そのようなデータセット{1,3,5,7,5,7,8}、データセット{1,3,5,7,8}のカーディナリティ、塩基(要素を繰り返さない)5 。カーディナリティ推定誤差が許容範囲、高速計算基準の範囲内です。

二、HyperLogLog関連のコマンド

  • コマンド名:pfadd
  • 構文:pfaddキー要素[要素......]
  • 特徴:
    • 内部の指定されたHyperLogLogに任意の数の要素を追加します。
    • このコマンドの副作用として、内部HyperLogLogは異なるでユニークな要素の推定数(すなわち、集合の濃度)を反映するように更新されてもよいです。
  • 戻り値:
    • 整数返信:内部記憶HyperLogLogが変更された場合、それは、1を返し、それ以外の場合は0を返します。

 

  • コマンド名:pfcount
  • 構文:pfcountキー[キー......]
  • 特徴:
    • pfcountコマンドキーとして機能し、ベースHyperLogLogはキーを与えられた約リザーバに戻るとキーが存在しない場合は、0が返されます。
    • 複数のキーにpfcountコマンドが作用し、近似HyperLogLog及びベースの全て所定のセットを返す場合、ベースは約一時Hype​​rLogLog HyperLogLogを算出するために組み合わせ全てによって与えられます。
  • 戻り値:
    • 整数返信:与えられたHyperLogLogを備えたユニークな要素のおおよその数。

 

  • コマンド名:pfmerge
  • 语法:pfmerge destkey SOURCEKEY [SOURCEKEY ......]
  • 特徴:
    • 合わせた複数HyperLogLogは(マージ)を合わせ、すべての可視HyperLogLogのセット入力(観察されたセット)とセットのベースにHyperLogLog、HyperLogLog閉じるあります。
  • 戻り値:
    • OKを返します

おすすめ

転載: www.cnblogs.com/lxhyty/p/11511449.html
おすすめ