データ セット {1, 2, 3, 3, 5, 5,} などの例を通じて、カーディナリティ統計が何であるかを直接理解できます。このデータ セットのカーディナリティ セットは {1, 2, 3, 5} の場合、ベース (非繰り返し要素) は 4 です。つまり、非反復要素の数です。
各 HyperLogLog キーは、2^64 近くの異なる要素のカーディナリティを計算するために 12 KB のメモリのみを必要とします。これは、カーディナリティの計算時により多くのメモリを消費するコレクションとは対照的で、要素が多いほど、より多くのメモリが消費されます。メモリの観点から比較したい場合は、Hyperloglog が第一の選択肢です。
Web ページの UV (1 人が複数回 Web サイトにアクセスしても、1 人としてカウントされます)
従来の方法: set(setは繰り返しが認められていないため、繰り返すと上書きされてしまう)でユーザーのIDを保存し統計をとることができる 集合の要素数を基準として判断する この方法の方が面倒になる多数のユーザー ID が保存され、大規模な Web サイトで使用される場合、大量のメモリを消費します。私たちの目的はカウントすることであり、ユーザー ID を保存することではありません。
HyperLogLog の使用: HyperLogLog キーに必要なのは 12KB だけですが、計算できる数は非常に膨大になり、占有されるメモリ スペースは大幅に削減されます。
フォールト トレランスが許可されている場合 (エラー率 0.81%、カウント時に無視できます)、Hyperloglog は間違いなく使用できます。フォールト トレランスが許可されていない場合は、set または独自のデータ型を使用してください。
シリアル番号 | コマンドと説明 |
---|---|
1 | PFADD キー要素 [要素 ...] 指定された要素を HyperLogLog に追加します。 |
2 | PFCOUNT key [key ...] 指定された HyperLogLog のカーディナリティ推定値を返します。 |
3 | PFMERGE destkeysourcekey [sourcekey ...] 複数の HyperLogLog を 1 つの HyperLogLog にマージします |
127.0.0.1:6379> pfadd mykey1 a b c d e f #给第一组添加数据 (integer) 1 127.0.0.1:6379> pfcount mykey1 #统计mykey1的基数数量 (integer) 6 127.0.0.1:6379> pfadd mykey2 e e f j #给第二组添加数据 (integer) 1 127.0.0.1:6379> pfcount mykey2 #统计mykey2的基数数量 (integer) 3 127.0.0.1:6379> pfmerge mykey3 mykey1 mykey2 # 合并两组 mykey1 mykey2 => mykey3 并集 OK 127.0.0.1:6379> pfcount mykey3 #统计mykey3的基数数量 (integer) 7
Geospatial は、Redis のバージョン 3.2 から開始され、2 つの場所間の地理的位置情報を計算できます。人と人との距離、周囲何マイルか。
?????? 友達の場所
???? 近くの人の表示
コマンドと説明 | |
---|---|
GEOADD キー経度緯度位置名指定された地理的空間位置 (緯度、経度、 name) が指定されたキーに追加されます |
|
GEOPOS キーの場所の名前キーの場所から指定されたすべての場所の要素を返します(緯度と経度)。 |
|
GEODIST キーの場所 1 場所 2 単位 指定された 2 つの場所の間の距離を返します (場所が 2 つある場合)。存在しない場合、コマンドは null 値を返します。 |
|
GEORADIUS キー 経度と緯度の範囲の数値単位 指定された経度と緯度を中心、検索 特定の半径内の要素のうち |
|
GEORADIUSBYMEMBER キー 位置距離値の単位指定された範囲要素内の要素の場合、中心点は指定された位置要素によって決定されます。 要素 |
|
GEOHASH キー 場所 1 場所 2 は 11 を返します。文字の Geohash 文字列。2 つの文字列が近いほど、距離は近くなります。 |
|
zrange key start stop |
指定されたキーの座標情報を取得 |
zrem key location |
指定されたキーの下にある指定されたターゲットのデータを削除します |
以上がRedis の特殊なデータ型の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。