Redisコマンド操作中国語マ...login
Redisコマンド操作中国語マニュアル
著者:php.cn  更新時間:2022-04-12 14:07:28

Redis ハイパーログログ


Redis はバージョン 2.8.9 で HyperLogLog 構造を追加しました。

Redis HyperLogLog は、カーディナリティ統計に使用されるアルゴリズムです。HyperLogLog の利点は、入力要素の数または量が非常に大きい場合に、カーディナリティの計算に必要なスペースが常に固定されていることです。 、そして非常に小さい。

Redis では、各 HyperLogLog キーは、ほぼ 2^64 の異なる要素の基礎を計算するために 12 KB のメモリのみを必要とします。 番号。これは、要素数が多いほど、より多くのメモリを消費するコレクションとは対照的です。

ただし、HyperLogLog は入力要素に基づいてベースを計算するだけで、入力要素自体を保存しないため、 HyperLogLog は、コレクションのように入力の個々の要素を返すことができません。


カーディナリティとは何ですか?

たとえば、データ セット {1, 3, 5, 7, 5, 7, 8} の場合、このデータ セットのカーディナリティ セットは {1, 3, 5,7, 8} の場合、カーディナリティ (非繰り返し要素) は 5 です。 カーディナリティの推定とは、許容誤差範囲内でカーディナリティを迅速に計算することです。


次の例は、HyperLogLog の作業プロセスを示しています:

redis 127.0.0.1:6379> PFADD w3ckey "redis"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mongodb"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mysql"

1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3ckey

(integer) 3

Redis HyperLogLog コマンド

次の表に、redis HyperLogLog の基本コマンドを示します:

シリアル番号 コマンドと説明
1PFADD キー要素 [要素 ...]
指定された要素を HyperLogLog に追加します。
2PFCOUNT key [key ...]
指定された HyperLogLog のカーディナリティ推定値を返します。
3PFMERGE destkeysourcekey [sourcekey ...]
複数のHyperLogLogを1つのHyperLogLogにマージ

PHP中国語ウェブサイト