ホームページ > バックエンド開発 > PHPチュートリアル > php-redis 中国語リファレンスマニュアル_zset_hash 関連_zAdd_zRange_zDelete..._PHP チュートリアル

php-redis 中国語リファレンスマニュアル_zset_hash 関連_zAdd_zRange_zDelete..._PHP チュートリアル

WBOY
リリース: 2016-07-13 17:52:40
オリジナル
858 人が閲覧しました

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 番目の要素 ...

特定の範囲内で並べ替えられた要素を取得します。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 番目 ...

キーに対応する順序付きセット内の指定された範囲内のすべての要素を返します。これらの要素は、スコアの高いものから低いものの順に配置されています。同じスコアを持つ要素は、辞書編集順に降順に並べ替えられます。このコマンドは ZRANGE に似ていますが、このコマンド内の要素の順序が前者とは異なります。

パラメータ


開始: 長い
最後: 長い
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" 文字列

戻り値

LONG ソートされたセットから削除された値の数


$redis->zAdd('key', 0, 'val0');

$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', 2, 'two');

$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->zAdd('key', 10, 'val10');

$redis->zSize('key'); /* 3 */
zスコア
説明
指定されたソートセット内の指定されたメンバーのスコアを返します。

キーに対応する順序集合内のメンバーのスコア値を返します。メンバーが順序集合内に存在しない場合、会は nil を返します。
パラメータ

メンバー

戻り値

ダブル


$redis->zAdd('key', 2.5, 'val2');
$redis->zScore('key', 'val2') /* 2.5 */
zRank、zRevRank
説明
指定されたソートセット内の指定されたメンバーのランクを返します。zRevRank は、スコアが最も小さい項目の 0 から始まり、スコアが最も大きい項目の 0 から始まります。

キーに対応する順序付きセット内のメンバー要素のインデックス値を返します。要素はスコアに従って低いものから高いものへと並べられます。ランク値 (またはインデックス) は 0 ベースです。これは、スコア値が最も低い要素のランク値が 0 であることを意味します。 ZREVRANK を使用して、高位から低位に並べられた要素のランク (またはインデックス) を取得します。

パラメータ


メンバー

戻り値

長いです、アイテムのスコアです

$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 に設定されます。

AGGREGATE オプションを使用すると、交差の結果を集計する方法を指定できます。このオプションのデフォルト値は SUM で、この場合、要素のすべてのスコア値が加算されます。このオプションが MIN または MAX に設定されている場合、結果セットには要素の最大スコア値または最小スコア値が含まれます。宛先がすでに存在する場合、それは上書きされます。


パラメータ

キー出力

配列ZSetKeys
配列重み
aggregateFunction 「SUM」、「MIN」、または「MAX」のいずれか: zUnion 中に重複エントリに使用する動作を定義します。

戻り値

LONG 新しいソートセット内の値の数。


$redis->delete('k1');

$redis->delete('k2');
$redis->delete('k3');
$redis->delete('ko1');
$redis->delete('ko2');
$redis->delete('ko3');

$redis->zAdd('k1', 0, 'val0');

$redis->zAdd('k1', 1, 'val1');


$redis->zAdd('k2', 2, 'val2');

$redis->zAdd('k2', 3, 'val3');


$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('ko1');

$redis->delete('ko2');
$redis->delete('ko3');
$redis->delete('ko4');

$redis->zAdd('k1', 0, 'val0');

$redis->zAdd('k1', 1, 'val1');
$redis->zAdd('k1', 3, 'val3');

$redis->zAdd('k2', 2, 'val1');

$redis->zAdd('k2', 3, 'val3');

$redis->zInter('ko1', array('k1', 'k2')); /* 2, 'ko1' => array('val1', 'val3') */

$redis->zInter('ko2', array('k1', 'k2'), array(1, 1)) /* 2, 'ko2' => array('val1', 'val3'); */

/* 重み付き zInter */

$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 が返されます。

ハッシュに値を追加します。 VALUE が HASH にすでに存在する場合は、FALSE を返します。

パラメータ


ハッシュキー
価値

戻り値

LONG 値が存在せず、正常に追加された場合は 1、値がすでに存在し、置き換えられた場合は 0、エラーがあった場合は FALSE。

$redis->delete('h')

$redis->hSet('h', 'key1', 'hello'); /* 1, 'key1' => ハッシュの "h" */
$redis->hGet('h', 'key1') /* は "hello" を返します */

$redis->hSet('h', 'key1', 'plop'); /* 0、値は置き換えられました。 $redis->hGet('h', 'key1') /* は "plop" を返します */

hSetNx

説明
このフィールドがまだハッシュにない場合にのみ、キーに保存されているハッシュに値を追加します。

FIELD が存在しない場合は、HASH STORE に VALUE を追加します。

戻り値

BOOL フィールドが設定されている場合は TRUE、フィールドがすでに存在している場合は FALSE。

$redis->delete('h')
$redis->hSetNx('h', 'key1', 'hello'); /* TRUE、'key1' => ハッシュの "h" */

$redis->hSetNx('h', 'key1', 'world'); /* FALSE、'key1' => フィールドが置換されなかったので変更なし。 .*/

ゲット
説明
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が返されます

指定された要素を削除します。

パラメータ

ハッシュキー

戻り値

BOOL 成功した場合は TRUE、失敗した場合は FALSE


hキー

説明

ハッシュ内のキーを文字列の配列として返します。

HASH表内のKEYを取得し、数値集合形式で返します。

パラメータ

キー: キー

戻り値
要素の配列、つまりハッシュのキー。これは PHP の array_keys() のように機能します。


$redis->delete('h');

$redis->hSet('h', 'a', 'x');

$redis->hSet('h', 'b', 'y');
$redis->hSet('h', 'c', 'z');
$redis->hSet('h', 'd', 't');
var_dump($redis->hKeys('h'));
出力:

配列(4) {
  [0]=>

  文字列(1) "a"

  [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', 'b', 'y');

$redis->hSet('h', 'c', 'z');
$redis->hSet('h', 'd', 't');
var_dump($redis->hVals('h'));
出力:

配列(4) {
  [0]=>
  文字列(1) "x"

  [1]=>

  文字列(1) "y"
  [2]=>
  文字列(1) "z"
  [3]=>
  文字列(1) "t"
}
順序はランダムであり、redis 自体のセット構造の内部表現に対応します。

すべて入手
説明
ハッシュ全体を文字列でインデックス付けされた文字列の配列として返します。

HASH テーブル全体の情報を取得し、KEY がインデックス VALUE の内容の数集合を返します。
パラメータ
キー: キー

戻り値

要素の配列、ハッシュの内容。


$redis->delete('h');

$redis->hSet('h', 'a', 'x');
$redis->hSet('h', 'b', 'y');

$redis->hSet('h', 'c', 'z');

$redis->hSet('h', 'd', 't');
var_dump($redis->hGetAll('h'));
出力:

配列(4) {
  ["a"]=>
  文字列(1) "x"
  ["b"]=>

  文字列(1) "y"

  ["c"]=>
  文字列(1) "z"
  ["d"]=>
  文字列(1) "t"
}
順序はランダムであり、redis 自体のセット構造の内部表現に対応します。

h存在します
説明
指定されたメンバーがキーに存在するかどうかを確認します。

验证HASH表中に指定されたKEY-VALUEが存在するかどうか


パラメータ

メンバーキー

戻り値

BOOL: メンバーがハッシュ テーブルに存在する場合は TRUE を返し、それ以外の場合は FALSE を返します。

$redis->hSet('h', 'a', 'x');

$redis->hExists('h', 'a'); /* 本当です */
$redis->hExists('h', 'NonExistingKey'); /* 誤り */

hIncrBy

説明
ハッシュからメンバーの値を指定された量だけインクリメントします。

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 値は空の文字列として保存されます。

大量充填 HASH 表。文字列型の値ではなく、自動的に文字列型に変換されます。標準の値を使用します。NULL 値は空の文字列として保存されます。

パラメータ

メンバー: キー → 値の配列

戻り値

ブール


$redis->delete('user:1');

$redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));
$redis->hIncrBy('ユーザー:1', '給与', 100); // ジョーはさらに 100 稼ぐようになりました。
hMGet
説明
ハッシュ内の指定されたフィールドに関連付けられた値を取得します。

批量はHASH表内のVALUEを取得しました。

パラメータ

メンバーキー配列


戻り値
配列 要素の配列、ハッシュ内の指定されたフィールドの値。ハッシュキーが配列キーとして使用されます。


$redis->delete('h');

$redis->hSet('h', 'field1', 'value1');

$redis->hSet('h', 'field2', 'value2');
$redis->hmGet('h', array('field1', 'field2')); /* 配列を返します('field1' => 'value1', 'field2' => 'value2') */

著者:四云麒麟


http://www.bkjia.com/PHPjc/478088.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478088.html技術記事 ZSET (ストアド セット) とセット 1 は文字列の集合であり、異なるのは各要素都市間で関連付けられる二重タイプのスコアです。実際に使用されるのはスキップ リストとハッシュ テーブル、スキップ リス...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート