ZSET(ストアドセット)
set と同様に、これは文字列のコレクションです。違いは、各要素が double 型のスコアに関連付けられていることです。実装ではスキップ リストとハッシュ テーブルが使用され、スキップ リストの実装では 2 行のリンク リストが使用されます。 Score の主な役割はソートであるため、ソートされたセットは主にインデックスとして使用されます。
z追加
説明
指定されたスコアを持つ指定されたメンバーを、キーに格納されているソートセットに追加します。
1 つ以上の要素を追加します。要素が既に存在する場合は、その socre 値を更新します
順序付きセットは順序付けされていますが、セットでもあるため、重複した要素を追加しても
だけが発生します。
元の要素のスコア値を更新します
パラメータ
鍵
スコア: ダブル
値: 文字列
戻り値
要素が追加される場合は Long 1、それ以外の場合は 0。
$redis->zAdd('key', 1, 'val1');
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 5, 'val5');
$redis->zRange('key', 0, -1) // 配列(val0, val1, val5)
z範囲
説明
指定されたキーに格納されている順序付きセットから要素の範囲を返します。範囲 [start、end] の値は、0 から始まるインデックスとして解釈されます。0 が最初の要素、1 が 2 番目の要素です。 -1 最後の要素、-2 最後から 2 番目の要素 ...
パラメータ
鍵
開始: 長い
最後: 長い
withscores: bool = false
指定された範囲の値を含む配列。
$redis->zAdd('key1', 0, 'val0');
$redis->zAdd('key1', 2, 'val2');
$redis->zAdd('key1', 10, 'val10');
$redis->zRange('key1', 0, -1) /* array('val0', 'val2', 'val10') */
$redis->zRange('key1', 0, -1, true); /* array('val0' => 0, 'val2' => 2, 'val10' => 10) */
z削除、zレム
説明
指定されたメンバーを順序付きセットから削除します。
パラメータ
鍵
メンバー
LONG 成功の場合は 1、失敗の場合は 0。
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 2, 'val2');
$redis->zAdd('key', 10, 'val10');
$redis->zDelete('key', 'val2');
$redis->zRange('key', 0, -1) /* array('val0', 'val10') */
zRevRange
説明
[start, end] の範囲内の指定されたキーに格納されているソートされたセットの要素を逆順で返します。start と stop は 0 から始まるインデックスとして解釈されます。0 が最初の要素、1 が 2 番目の要素 ... -1 が最後の要素です。要素、-2 最後から 2 番目 ...
パラメータ
鍵
開始: 長い
最後: 長い
withscores: bool = false
指定された範囲の値を含む配列。
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 2, 'val2');
$redis->zAdd('key', 10, 'val10');
$redis->zRevRange('key', 0, -1) /* array('val10', 'val2', 'val0') */
$redis->zRevRange('key', 0, -1, true); /* array('val10' => 10, 'val2' => 2, 'val0' => 0) */
zRangeByScore、zRevRangeByScore
説明
[start,end] の範囲内のスコアを持つ、指定されたキーに格納されているソート セットの要素を返します。+inf および -inf も有効な制限値から除外されます。開始パラメータと終了パラメータが交換された場合、同じ項目が逆の順序で表示されます。
オプションの LIMIT オプションを使用すると、特定の範囲内で一致する要素を取得できます。オフセット値が大きい場合、返される要素を取得する前にソートされたコレクションを走査する必要があるため、O(N) の時間計算量が増加します。オプションの WITHSCORES を使用すると、要素のスコアを要素とともに返すことができます。このオプションは Redis 2.0 以降で使用できます。
パラメータ
鍵
開始: 文字列
終了: 文字列
オプション: 配列
2 つのオプションが利用可能です: withscores => TRUE、および制限 =>配列($offset, $count)
戻り値
指定された範囲の値を含む配列
例
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 2, 'val2');
$redis->zAdd('key', 10, 'val10');
$redis->zRangeByScore('key', 0, 3); /* 配列('val0', 'val2') */
$redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE); /* array('val0' => 0, 'val2' => 2) */
$redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1)); /* array('val2' => 2) */
$redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1)); /* array('val2') */
$redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1)); /* array('val2' => 2 ) */
zカウント
説明
指定されたキーに格納されているソートされたセットのうち、[start,end] の範囲内のスコアを持つ要素の数を返します。開始または終了の前に括弧を追加すると、範囲から除外されます。 +inf と -inf も有効な制限です。
キーに対応する一連のセット内の最小値と最大値の間にある要素の数を返します。
パラメータ
鍵
開始: 文字列
終了: 文字列
LONG 対応する zRangeByScore のサイズ
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 2, 'val2');
$redis->zAdd('key', 10, 'val10');
$redis->zCount('key', 0, 3); /* 2、array('val0', 'val2') に対応 */
zRemRangeByScore、zDeleteRangeByScore
説明
指定されたキーに格納されているソートセットの要素のうち、スコアが [start,end] の範囲内にある要素を削除します。
2.1.6 バージョン以降では、ZRANGEBYSCORE の規則に従って、セクション間のエンドポイント min と max が除外される可能性があります。 。
パラメータ
鍵
start: double または "+inf" または "-inf" 文字列
end: double または "+inf" または "-inf" 文字列
戻り値
例
$redis->zAdd('key', 2, 'val2');
$redis->zAdd('key', 10, 'val10');
$redis->zRemRangeByScore('key', 0, 3); /* 2 */
zRemRangeByRank、zDeleteRangeByRank
説明
指定されたキーに格納されているソートセットの、範囲 [start,end] 内のランクを持つ要素を削除します。
削除キーは、対応するシーケンスセット内のランクを開始と停止の間のすべての要素に介在させる。例: -1 は最高のスコアを持つ要素を示し、-2 は次に高いスコアを持つ要素を示します。
鍵
開始: 長い
最後: 長い
戻り値
LONG ソートされたセットから削除された値の数
例
$redis->zAdd('key', 1, 'one');
$redis->zAdd('key', 3, 'three');
$redis->zRemRangeByRank('key', 0, 1); /* 2 */
$redis->zRange('key', 0, -1, array('withscores' => TRUE)); /* array('three' => 3) */
zサイズ、zカード
説明
順序付けられたセットのカーディナリティを返します。
キーに対応する一連の要素に保存されている要素の数を返します。
パラメータ
戻り値
長いよ、セットの基数
$redis->zAdd('key', 0, 'val0');
$redis->zAdd('key', 2, 'val2');
$redis->zSize('key'); /* 3 */
zスコア
説明
指定されたソートセット内の指定されたメンバーのスコアを返します。
キーに対応する順序集合内のメンバーのスコア値を返します。メンバーが順序集合内に存在しない場合、会は nil を返します。
パラメータ
鍵
戻り値
ダブル
例
$redis->zAdd('key', 2.5, 'val2');
$redis->zScore('key', 'val2') /* 2.5 */
zRank、zRevRank
説明
指定されたソートセット内の指定されたメンバーのランクを返します。zRevRank は、スコアが最も小さい項目の 0 から始まり、スコアが最も大きい項目の 0 から始まります。
パラメータ
鍵
メンバー
長いです、アイテムのスコアです
$redis->delete('z');
$redis->zAdd('key', 1, 'one');
$redis->zAdd('key', 2, 'two');
$redis->zRank('key', 'one') /* 0 */
$redis->zRank('key', 'two') /* 1 */
$redis->zRevRank('key', 'one') /* 1 */
$redis->zRevRank('key', 'two') /* 0 */
zIncrBy
説明
ソートされたセットのメンバーのスコアを指定された量だけ増加させます。
パラメータ
鍵
value: (double) メンバーのスコアに追加される値
メンバー
新しい値を 2 倍にします
$redis->delete('key');
$redis->zIncrBy('key', 2.5, 'member1'); /* キーまたは member1 が存在しなかったため、インクリメント前の member1 のスコアは 0 になります */
/* 値は 2.5 になります */
$redis->zIncrBy('key', 1, 'member1') /* 3.5 */
zユニオン
説明
2 番目の引数で指定されたソート セットの和集合を作成します。和集合の結果は、最初の引数で定義されたソート セットに格納されます。この場合、3 番目のオプション引数は、入力のソート セットに適用する重みを定義します。集計を適用する前に、ソートされたセット内の各要素のスコアが乗算されます。 4 番目の引数は、結合の結果を集計する方法を指定する AGGREGATE オプションを定義します。
キーに対応する numkeys 順序付きセットのコレクションを計算し、結果を宛先に保存します。入力キーを渡す前に、入力キーの数とその他のオプションのパラメーターを指定する必要があります。デフォルトでは、要素の結果スコアは、その要素を含むすべての並べ替えられたセットのスコアの合計です。 WEIGHTS オプションを使用すると、ソートされたセットごとに演算係数を指定できます。これは、各ソートされたセット内の各要素のスコアが、集計関数に渡される前にこの係数で乗算されることを意味します。 WEIGHTS が指定されていない場合、演算係数はデフォルトの 1 に設定されます。
パラメータ
配列ZSetKeys
配列重み
aggregateFunction 「SUM」、「MIN」、または「MAX」のいずれか: zUnion 中に重複エントリに使用する動作を定義します。
戻り値
例
$redis->delete('k2');
$redis->delete('k3');
$redis->delete('ko1');
$redis->delete('ko2');
$redis->delete('ko3');
$redis->zAdd('k1', 0, 'val0');
$redis->zAdd('k2', 2, 'val2');
$redis->zUnion('ko1', array('k1', 'k2')); /* 4, 'ko1' => array('val0', 'val1', 'val2', 'val3) ')*/
/* 重み付けされた zUnion */
$redis->zUnion('ko2', array('k1', 'k2'), array(1, 1)); /* 4, 'ko1' => array('val0', 'val1', 'val2'、'val3') */
$redis->zUnion('ko3', array('k1', 'k2'), array(5, 1)); /* 4, 'ko1' => array('val0', 'val2', 'val3'、'val1') */
zインター
説明
2 番目の引数で指定されたソート セットの共通部分を作成します。結合の結果は、最初の引数で定義されたソート セットに格納されます。この場合、3 番目のオプション引数は、入力のソート セットに適用する重みを定義します。集計を適用する前に、ソートされたセット内の各要素のスコアが乗算されます。 4 番目の引数は、結合の結果を集計する方法を指定する AGGREGATE オプションを定義します。
デフォルトでは、要素の結果として得られるスコアは、その要素を含むすべてのソートされたセットのスコアの合計です。 WEIGHTS および AGGREGATE オプションについては、ZUNIONSTORE コマンドを参照してください。ターゲットがすでに存在する場合は上書きされます。
キー出力
配列ZSetKeys
配列重み
aggregateFunction 「SUM」、「MIN」、または「MAX」のいずれか: zInter 中に重複エントリに使用する動作を定義します。
LONG 新しいソートセット内の値の数。
$redis->delete('k1');
$redis->delete('k2');
$redis->delete('k3');
$redis->delete('ko2');
$redis->delete('ko3');
$redis->delete('ko4');
$redis->zAdd('k1', 1, 'val1');
$redis->zAdd('k1', 3, 'val3');
$redis->zAdd('k2', 3, 'val3');
$redis->zInter('ko2', array('k1', 'k2'), array(1, 1)) /* 2, 'ko2' => array('val1', 'val3'); */
$redis->zInter('ko3', array('k1', 'k2'), array(1, 5), 'min'); /* 2, 'ko3' => 'val3') */
$redis->zInter('ko4', array('k1', 'k2'), array(1, 5), 'max'); /* 2, 'ko4' => 'val1') */
hセット
説明
key に格納されているハッシュに値を追加します。この値がすでにハッシュに含まれている場合は、FALSE が返されます。
パラメータ
鍵
ハッシュキー
価値
LONG 値が存在せず、正常に追加された場合は 1、値がすでに存在し、置き換えられた場合は 0、エラーがあった場合は FALSE。
例
$redis->hSet('h', 'key1', 'hello'); /* 1, 'key1' => ハッシュの "h" */
$redis->hGet('h', 'key1') /* は "hello" を返します */
$redis->hSet('h', 'key1', 'plop'); /* 0、値は置き換えられました。
$redis->hGet('h', 'key1') /* は "plop" を返します */
説明
このフィールドがまだハッシュにない場合にのみ、キーに保存されているハッシュに値を追加します。
FIELD が存在しない場合は、HASH STORE に VALUE を追加します。
BOOL フィールドが設定されている場合は TRUE、フィールドがすでに存在している場合は FALSE。
例
$redis->delete('h')
$redis->hSetNx('h', 'key1', 'hello'); /* TRUE、'key1' => ハッシュの "h" */
ゲット
説明
key に格納されているハッシュから値を取得します。 ハッシュ テーブルが存在しない場合、またはキーが存在しない場合は、FALSE が返されます。
HASH の VALUE を取得します。HASH が存在しない場合、または KEY が存在しない場合は FLASE を返します。
パラメータ
鍵
ハッシュキー
戻り値
STRING コマンドが正常に実行された場合の値 BOOL 失敗した場合の FALSE
レン
説明
ハッシュの長さを項目数で返します
HASH表の長さを取得します。
パラメータ
鍵
LONG はハッシュ内の項目の数、キーが存在しないかハッシュでない場合は FALSE です。
$redis->delete('h')
$redis->hSet('h', 'key1', 'hello');
$redis->hSet('h', 'key2', 'plop');
$redis->hLen('h'); /* 2 を返します */
hデル
説明
key に格納されているハッシュから値を削除します。ハッシュテーブルが存在しない場合、またはキーが存在しない場合はFALSEが返されます
パラメータ
鍵
ハッシュキー
戻り値
hキー
ハッシュ内のキーを文字列の配列として返します。
HASH表内のKEYを取得し、数値集合形式で返します。
キー: キー
戻り値
要素の配列、つまりハッシュのキー。これは PHP の array_keys() のように機能します。
例
$redis->delete('h');
$redis->hSet('h', 'b', 'y');
$redis->hSet('h', 'c', 'z');
$redis->hSet('h', 'd', 't');
var_dump($redis->hKeys('h'));
出力:
配列(4) {
[0]=>
[1]=>
文字列(1) "b"
[2]=>
文字列(1) "c"
[3]=>
文字列(1) "d"
}
順序はランダムであり、redis 自体のセット構造の内部表現に対応します。
hVals
説明
HASH表内のすべてのVALUEを取得し、数値集合として返します。
パラメータ
戻り値
要素の配列、ハッシュの値。これは PHP の array_values() と同じように機能します。
$redis->delete('h');
$redis->hSet('h', 'a', 'x');
$redis->hSet('h', 'c', 'z');
$redis->hSet('h', 'd', 't');
var_dump($redis->hVals('h'));
出力:
配列(4) {
[0]=>
文字列(1) "x"
文字列(1) "y"
[2]=>
文字列(1) "z"
[3]=>
文字列(1) "t"
}
順序はランダムであり、redis 自体のセット構造の内部表現に対応します。
すべて入手
説明
ハッシュ全体を文字列でインデックス付けされた文字列の配列として返します。
HASH テーブル全体の情報を取得し、KEY がインデックス VALUE の内容の数集合を返します。
パラメータ
キー: キー
戻り値
要素の配列、ハッシュの内容。
例
$redis->hSet('h', 'a', 'x');
$redis->hSet('h', 'b', 'y');
$redis->hSet('h', 'd', 't');
var_dump($redis->hGetAll('h'));
出力:
配列(4) {
["a"]=>
文字列(1) "x"
["b"]=>
["c"]=>
文字列(1) "z"
["d"]=>
文字列(1) "t"
}
順序はランダムであり、redis 自体のセット構造の内部表現に対応します。
h存在します
説明
指定されたメンバーがキーに存在するかどうかを確認します。
パラメータ
鍵
戻り値
BOOL: メンバーがハッシュ テーブルに存在する場合は TRUE を返し、それ以外の場合は FALSE を返します。
例
$redis->hExists('h', 'a'); /* 本当です */
$redis->hExists('h', 'NonExistingKey'); /* 誤り */
説明
ハッシュからメンバーの値を指定された量だけインクリメントします。
HASH テーブルの KEY に基づいて、KEY に対応する VALUE からのパラメータ VALUE になります。
パラメータ
鍵
メンバー
value: (整数) メンバーの値に追加される値
戻り値
新しい価値を待ちます
例
$redis->delete('h');
$redis->hIncrBy('h', 'x', 2); /* 2 を返します: h[x] = 2 になります。 */
$redis->hIncrBy('h', 'x', 1); /* h[x] ← 2 + 1。3 を返します */
hIncrByFloat
説明
ハッシュメンバーの値を指定された浮動小数点数だけインクリメントします
HASH テーブルの KEY に基づいて、KEY に対応する VALUE からのパラメータ VALUE になります。
パラメータ
鍵
メンバー
value: (float) メンバーの値に追加される値
新しい値を浮動小数点演算します
$redis->delete('h');
$redis->hIncrByFloat('h','x', 1.5); /* 1.5 を返します: 現在 h[x] = 1.5 */
$redis->hIncrByFLoat('h', 'x', 1.5); /* 3.0 を返します: 現在 h[x] = 3.0 */
$redis->hIncrByFloat('h', 'x', -3.0); /* 0.0 を返します: 現在 h[x] = 0.0 */
うーんセット
説明
ハッシュ全体を埋めます。非文字列値は、標準 (文字列) キャストを使用して文字列に変換されます。 NULL 値は空の文字列として保存されます。
パラメータ
鍵
メンバー: キー → 値の配列
戻り値
例
$redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));
$redis->hIncrBy('ユーザー:1', '給与', 100); // ジョーはさらに 100 稼ぐようになりました。
hMGet
説明
ハッシュ内の指定されたフィールドに関連付けられた値を取得します。
批量はHASH表内のVALUEを取得しました。
鍵
メンバーキー配列
戻り値
配列 要素の配列、ハッシュ内の指定されたフィールドの値。ハッシュキーが配列キーとして使用されます。
例
$redis->delete('h');
$redis->hSet('h', 'field2', 'value2');
$redis->hmGet('h', array('field1', 'field2')); /* 配列を返します('field1' => 'value1', 'field2' => 'value2') */
著者:四云麒麟