いくつかの実用的なアプリケーションをRedisの

 

1.分散ロック:

 

達成:キー、コマンドとそのパラメータを設定した値のex時間nxは実装命令はアトミック操作です。ロックが現在の値かどうかのリリース前に同じ値を比較するために、デルのキーによって解放され、以下の理由。ロック名への鍵。値が乱数とレコード変数を持つ乱数です。元のパラメータが自動的に二度目を削除されたキーに代わって、命令のセットです。NXは、その値を設定する際に何のキーを意味しない命令セットのパラメータです。

 

説明:有効期限を設定しますが、異常なスレッド表示されないようにするロックを占有しているロックの解除に至っていません。乱数を用いた理由値:削除された乱数と、タイムアウトした後、新しいスレッドはロックされ、キーなどの新しい乱数を設定されますが、元のスレッドは、ロジックを実装する最終とデルの指示を実行しました前と比較して、削除するためにキーを入れないでください。他のスレッドのリリースに現在のスレッドのロックを防ぎます。

 

2.メッセージキュー:

 

 

注:使用ブロックは、代わりにポーリングを読んでキューを防ぐことにある空で、無用の空のポーリングの多くを行います。

 

3.ビットマップメモリ​​bool型のデータ:

 

説明:ビットマップ詳細な手順は、検索を所有することがあります。最初のビットマップ・ビットが、中国名のビットで説明する、ストレージの最小単位は、インデックスデータを設定することにより、ビットマップ、アレイ構造の一部です。0又は1であるバイナリビット、バイト(バイト)を8ビットに等しいです。手紙は、1バイトに等しいです。文字は必ずしも、異なる符号化は、2つのいくつかのいくつかの3バイトバイト、バイトを占めていました。Setbitは、第2の位置に0にセットが設定されていない場合、デフォルトは0である意味、このようsetbitキー1 1として、位置を設定することができます。

 

達成:RedisののBITCOUNTとカウントし、BITPOSビットマップデータの種類を見つけるための指示を提供し、追加することができ、後に選択が開始および終了パラメータの範囲です。ブールちょうど限り、大量のデータなブール値があり、データ0と1のタイプとして、ビットマップを使用すると、非常に大きなスペースを節約することができます。シナリオは、ログインレコードのようになり、出席者は、この純粋なbool型データを記録します。例えば、第3日目の人物A記号は、実装は、Aキー2 1 setbit。ように、私は数日間BITCOUNT Aキーとき出席統計を実行したいと思います。戻り値は、出席日数で数1、です。BITPOS位置1 1.戻るA-キーBITPOSとして1の最初の発生の位置を最初に現れるを取得し、即ちAチェックがときに最初の日です。

 

4.HyperLogLog統計UV:

 

説明:HyperLogLog Redisのは、高度なデータ構造、統計ベースの役割であり、そのような要素は、1,2,3,4,5,5,6を有します。HyperLogLogのみ統計ベース6、すなわち、1,2,3,4,5,6要素の非繰り返しの数は、最も重要なことは、要素が非常に大きい、メモリがその所有に固定されている場合でも、である、各HyperLogLogのみそれが12キロバイトをとります。それは少しの命令です。あります要素を追加するpfadd重要な要素。pfcountキー統計ベース。

 

実装:つまり、彼はサイト全体のために過ごすことができるというユニークビジター数、単一ページ上の統計をすることができ、UVを行います。私たちは、ちょうどIP(またはユーザID)とライン上でそれに追加した日付(日までに正確な)する必要があり、そこに多くのより多くの情報がOKでもありますが、HyperLogLogのみ統計ベース。長いユーザーの情報がライン上と全く同じであるとして、それは自動的に関係なく、一度だけカウントするアクセス回数のユーザー一日ではありません重いが、行くとして日以内。

 

特定のスキャンキーを検索します。

 

記述:データ量が大きくない場合、キーを直接検索キーに対応する特定の規則によれば、簡単な手順を使用することができます。しかし、大量のデータは明らかに望ましいことではないの後に最も重要なのは、キーがブロックされているということであるあなたが資格の鍵を見つけるまで、それはすべてのキーを通過します、時間の複雑さはO(n)があります。スキャン時間複雑度はO(N)であるが、にもかかわらずそれはリターンの数を定義することができるスレッドをブロックしません。スキャン一連の命令があり、基本的なデータの異なるタイプのいくつかのための命令があり、対応する検索キーは、単に最も基本的な使い方は、使用量がより詳細な公式APIドキュメントを見つけることができます。

 

実装:コマンドを使用して、一致キー*カウント制限を開始しスキャン。それは、スレッドブロックは発生しません、カーソルはそれをカーソルで使用されているからこそ、開始する場所です開始。当時の正規表現にマッチします。数を定義する数の戻りが続きます。たとえば:スキャン0マッチ人は* 1000年の初めまで、リターンキーパーソン、0からカーソル1000を数えます。戻り値2つの結果、1は、この次の整数に0プットは、その後見つけ、整数でカーソルを停止することです。もう一つは、鍵を見つけることです。

 

 

 

おすすめ

転載: www.linuxidc.com/Linux/2020-03/162649.htm