Latest web development tutorials

RedisのHyperLogLog

Redisのでは2.8.9リリースでは、HyperLogLog構造を追加します。

RedisのHyperLogLogベースは、入力または体積の要素の数が非常に非常に大きいことが、計算の基礎に必要なスペースは、常に固定されており、非常に小さいHyperLogLog利点統計的アルゴリズムを作るために使用されます。

各キーHyperLogLog内部のRedisであなただけが、最も近い基地に2 ^ 64の異なる要素を計算することができ、メモリの12キロバイトを取ります。 これは、ときに計算ベース、より著しい対照のコレクションのより多くのメモリを集中的要素です。

しかし、HyperLogLogためだけ入力要素計算ベースに基づいていますが、コレクションHyperLogLogは、各入力要素に戻るには好きではないように、入力要素自体は保存されません。


ベースは何ですか?

例えば、データセットは、{1、3、5、7、5、7、8}、その後、データセットの集合の基数は、{1、3、5、7、8}、塩基(要素を繰り返していない)5です。 カーディナリティ推定誤差が許容範囲、高速計算のベース内にあります。


次の例では、業務プロセスHyperLogLogを示しています。

redis 127.0.0.1:6379> PFADD w3bigkey "redis"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mongodb"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mysql"

1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3bigkey

(integer) 3

RedisのHyperLogLogコマンド

次の表は、HyperLogLog Redisの基本的なコマンドを示しています。

いいえ。 コマンドと説明
1 PFADD重要な要素[要素...]
中HyperLogLogに、指定された要素を追加します。
2 PFCOUNTキー[キー...]
戻り値はHyperLogLogカーディナリティの推定値を与えられました。
3 PFMERGEのdestkeyのSOURCEKEY [SOURCEKEY ...]
1 HyperLogLogに複数のHyperLogLog