この記事では、Redis に関する関連知識を提供します。主に順序付きセットの関連問題を整理します。順序付きセットでは、各要素はメンバーとメンバーで構成され、関連付けられたスコアで構成されます。メンバーは次のとおりです。文字列として保存され、スコアは 64 ビットの倍精度浮動小数点数として保存されます。一緒に見てみましょう。皆さんのお役に立てれば幸いです。
推奨される学習: Redis ビデオ チュートリアル
Yes sequencedコレクション。各要素はメンバーとそのメンバーに関連付けられたスコアで構成され、メンバーは文字列として格納され、スコアは 64 ビットの倍精度浮動小数点数として格納されます。メンバーは重複できず、スコア順に並べ替えられます。同じスコアを持つ場合は、辞書順に並べ替えられます。
メンバーの追加または更新
1.zaddコマンド 形式:zadd key [NX|XX] [GT|LT] [CH] [INCR] スコアメンバー [スコアメンバー …]
正常に追加された新しいメンバーの数を返します。メンバー スコアが更新された場合は、0 が返されます。 zadd キー スコア メンバー [スコア メンバー ...]
XX オプションの機能は、追加せずに更新のみを行い、実行後に 0 を返すことです。 zadd key XX スコア メンバー [スコア メンバー ...]
NX オプションの機能は追加のみであり、更新ではありません。実行が成功すると、追加された要素の数が返されます。 zadd key NX スコア メンバー [スコア メンバー ...]
CH オプションは、正常に追加されたメンバーの数ではなく、変更されたメンバーの数を返します。変更には新規追加が含まれます。 zadd キー CH スコア メンバー [スコア メンバー ...]
1.zrem コマンド 形式: zrem key member [member …]
削除されたメンバーの数を返します。メンバーがセット内に存在しない場合、自動的に無視されます。
zrem key member [member ...]
2.zremrangebyrank コマンド 形式:zremrangebyrank key start stop
指定したランキング範囲内のメンバーを削除し、The を返します。削除されたメンバーの数に応じて、ランキングにはポジティブ ランキングまたはネガティブ ランキングを使用できます。
zremrangebyrank key start stop
3.zremrangebyscore コマンド 形式:zremrangebyscore key min max
指定されたスコア範囲内のメンバーを削除し、削除したメンバーの数量を返します。 min または max の前に「(」を追加して、間隔が開いており、境界値が含まれていないことを示します。
zremrangebyscore key min max
4. zremrangebylex コマンド 形式: zremrangebylex key min max
辞書編集順に配置された順序付きセット (つまり、同じスコア) の場合、指定された辞書編集範囲内のメンバーを削除します。削除されたメンバーの数を返します。最小値と最大値
は値を取ることができます。 含まれる値: 「[」を含む値は辞書編集上の境界を含むことを示し、「(」は辞書編集上の境界を含まないことを示し、「 」は無限大を示し、「-」は無限小を示します。
zremrangebylex キー最小最大
要素をポップアップする
1.zpopmaxコマンド 書式:zpopmax key [count]
最もスコアの高いcountメンバーをポップアップし、最もスコアの高い要素が複数ある場合はpop実行が完了すると、ポップされた要素のメンバーとスコアが返されます。 zpopmax key [count]
2.zpopmin コマンド 書式:zpopmin key [count]
スコアが最も低い count メンバーと、スコアが最も低い count メンバーをポップアップします。スコアは複数の要素がある場合、辞書順が最も小さいメンバーがポップされます。カウントが指定されていない場合、デフォルトは 1 です。実行が完了すると、ポップされた要素のメンバーとスコアが返されます。 zpopmin key [count]
3.bzpopmax コマンド 形式:bzpopmax key [key …] timeout
zpopmax コマンドをブロックし、タイムアウトは 2 レベルの精度になります。このコマンドは、指定された順序セットを順番にチェックし、最初の空でないセットから最大スコアを持つ要素をポップします。それ以外の場合、要素が存在するか、タイムアウト期間を超えた後に nil が返されるまで、現在のクライアントはブロックされます。要素が正常にポップされると、ポップされた要素の順序付きセット、メンバー、スコアを含むリストが返されます。 bzpopmax key [key ...] timeout
4.bzpopmin コマンド 形式:bzpopmin key [key ...] timeout
zpopmin コマンドのブロック、タイムアウト第 2 レベルの精度。このコマンドは、指定された順序付きセットを順番にチェックし、空でない最初のセットからスコアが最小の要素をポップします。それ以外の場合、要素が存在するか、タイムアウト期間を超えた後に nil が返されるまで、現在のクライアントはブロックされます。要素が正常にポップされると、ポップされた要素の順序付きセット、メンバー、スコアを含むリストが返されます。 bzpopmin key [key ...] タイムアウト
クライアント 2:
メンバーの取得スコア
1.zscoreコマンド 形式:zscore key member
指定されたメンバーのスコアを取得します。コレクションが存在しない場合、またはメンバーが存在しない場合はnilを返します。 zscore key member
メンバースコアの操作を実行
1.zincrbyコマンド 形式:zincrby key increment member
実行後、現在のメンバーのスコアが返されます。増分が正の場合は自動的に増加し、そうでない場合は減少します。キーが存在しない場合、またはメンバーが存在しない場合は、作成操作が実行されます。 zincrby key increment member
1.zcardコマンド 形式:zcard key
Returnコレクション 含まれるメンバーの数、またはコレクションが存在しない場合は 0。
zcard key
2.zcountコマンド 書式:zcount key min max
指定したスコア範囲内のメンバー数を取得し、minの前に「(」を付けます。または max " は、境界値を含まない開いた間隔を取ることを意味します。値 inf は無限大を意味し、-inf は無限小を意味します。
zcount key min max
3. zlexcount コマンド 形式:zlexcount key min max
辞書編集順に並べられた(つまり、同じスコアを持つ)順序付きセットの場合、指定された辞書編集範囲内のメンバーの数を取得します。 max
include: with "[ "値は辞書編集上の境界を含むことを示し、「(」は辞書編集上の境界を含まないことを示し、「 」は無限大を示し、「-」は無限小を示します。 key min max
メンバーランキングの取得
zrank key member 2.zrevrank コマンド 形式:zrevrank key member
メンバーの降順の順位を返します。コレクションまたはメンバーが存在しない場合は nil を返します。
zrevrank key member
メンバーの取得
1.zrange コマンド 書式:zrange key min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
指定したインデックス範囲内のメンバーを取得します、スコアの昇順に並べ替えられます。 WITHSCORES オプションを使用すると、コマンドの実行後にスコアを返すことができます。返されるリストの奇数桁はメンバーであり、偶数桁は対応するスコアです。コレクションが存在しない場合は空を返します。 zrange key min max [WITHSCORES]
2.zrevrange コマンド 書式:zrevrange key start stop [WITHSCORES]
指定したインデックス範囲内のメンバーを取得し、 を押します。スコアの降順に並べ替えます。 WITHSCORES オプションを使用すると、コマンドの実行後にスコアを返すことができます。返されるリストの奇数桁はメンバーであり、偶数桁は対応するスコアです。コレクションが存在しない場合は空を返します。 zrevrange key start stop [WITHSCORES]
3.zrangebyscoreコマンド 書式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
指定したスコアを取得する範囲内のメンバーがスコアの昇順に並べられます。 WITHSCORES オプションを使用すると、コマンドの実行後にスコアを返すことができます。返されるリストの奇数桁はメンバーであり、偶数桁は対応するスコアです。コレクションが存在しない場合は空を返します。 zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
[LIMIT offset count] オプションは、返されるメンバーの数を制限するために使用されます。メンバーの数、count が実行されてメンバーの最大数が返され、count が負の場合は絶対値が取得されます。
min または max の前に「(」を追加すると、境界値を含まない開いた間隔を取ることを意味します。値 inf は無限を意味し、-inf は無限小を意味します。 4.zrevrangebyscore コマンド 形式:zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
指定したスコア範囲内のメンバーを取得し、スコアの降順に並べ替え、最大最小順序に注意します。
zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count] 5.zrangebylex コマンド 書式:zrangebylex key min max [LIMIT offset count]
メンバーの場合スコアは同じです
, get 辞書編集範囲内のメンバーを指定し、辞書編集の昇順で並べ替えます。
min と max に可能な値は次のとおりです: "[" の付いた値は、辞書編集が含まれることを示します「(」は辞書編集上の境界を含まないことを示します。「」は無限を意味し、「-」は無限小を意味します。 #zrangebylex key min max [LIMIT offset count] # 6. zrevrangebylex コマンド 書式:zrevrangebylex key max min [ LIMIT offset count]メンバーのスコアが同じ場合
指定した辞書範囲内のメンバーを取得し、辞書の降順にソートします。 max と min
の 利用可能な値には以下が含まれます: "[" の値は辞書編集上の境界が含まれていることを示し、"(" は辞書編集上の境界を含まないことを示し、" " は無限大を示します。
zrevrangebylex key max min [LIMIT offset count]
セット操作
1. Union
1) zunionstore コマンド ^ 形式: zunionstore destination numkeys key [key …] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX]
numkeys は操作に参加しているセットの数です。一致しない場合はエラーが返されます。実行後、新しいセットのメンバーの数が返されます。結合の結果はメンバー セットです。操作に参加しているセットに同じメンバーがある場合、新しいセットの既定のメンバー スコアは、元のセット メンバーのスコアの合計になります。 zunionstore destination numkeys key [key ...]
AGGREGATE オプションは、使用する集計関数を指定するために使用されます。指定しない場合、デフォルトは SUM です。 。 SUM はスコアを合計することを指し、MIN は最小スコアを取得することを指し、MAX は最大スコアを取得することを指します。 zunionstore destination numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]
WEIGHTS オプションは、集計を実行する前にコレクションごとに 1 つを設定します。 、重みにセット内のメンバーのスコアを乗算して新しいスコアを取得し、その後、集計計算が実行されます。
2) zunion コマンド 形式: zunion numkeys key [key …] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
実行完了後に新しいセット メンバーを返します。 zunion numkeys key [key ...] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
2. Intersection
1) zinterstore コマンド 形式: zinterstore destination numkeys key [key …] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX]
実行後の新しいセットのメンバーの数を返します。 zinterstore 宛先 numkeys key [key ...] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX]
2)zinter コマンド フォーマット: zinter numkeys key [key ...] [WEIGHTS 重み ] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
実行後に新しいコレクション メンバーを返します。 zinter numkeys key [key ...] [WEIGHTS 重み] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
Note:
1. コレクション操作ではセットを入力として使用できます。デフォルトでは、セットのメンバーのスコアは 1 とみなされ、操作に参加します。WEIGHTS オプションを使用して重みを設定し、セットのスコアを変更できます。
一般的な使用法
1. ランキング
2. タイムライン
推奨学習: Redis ビデオ チュートリアル
以上がRedis の順序付けされたコレクションはナレッジ ポイント誘導を使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。