ホームページ  >  記事  >  バックエンド開発  >  PHP-redis コマンドのドキュメント_PHP チュートリアル

PHP-redis コマンドのドキュメント_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:08:11809ブラウズ

PHP-redis コマンドドキュメント

Redis は本質的に Key/Value データベースであり、Memcached に似た NoSQL データベースですが、そのデータはディスク上に永続化できるため、サービスの再起動後にデータが失われないという問題が解決されます。 、その値は文字列 (文字列)、リスト (リスト)、セット (コレクション)、または順序付きセット (ソートされたセット) です。すべてのデータ型には、セット、交差などのプッシュ/ポップ、追加/削除、サーバー側マージ操作があります。 、2 つのセット間の違いなどはすべてアトミックです。Redis はさまざまなソート機能もサポートしています

Redis 2.0 では、パフォーマンスの向上、新しいデータ型、メモリ使用量の削減 (AOF および VM) など、多くの新機能が追加されています

PHPredis は PHP の拡張機能であり、非常に効率的で、メモリレベルのモジュールのビジネス関係を作成するのに役立ちます。

redis が公式に提供しているコマンドの使い方のヒントは以下の通りです:

Redis::__construct コンストラクター

$redis = new Redis();

接続、リンク Redis サービスを開く

パラメータ

ホスト: 文字列、サービスアドレス

ポート: int、ポート番号

タイムアウト: float、リンク期間(オプション、デフォルトは0、リンク時間に制限なし)

注: redis.conf にも時間があります。デフォルトは 300 です

Pingして接続状況を確認します

Getは、特定のキーの値(文字列値)を取得します

キーが存在しない場合は特殊な値 nil を返し、キーが文字列型でない場合はエラーを返します

setはキーと値(文字列値)を書き込みます

Redis バージョン 2.6.12 より前では、set コマンドは常に OK を返しました。

Redis バージョン 2.6.12 以降、set は、設定操作が正常に完了した場合にのみ OK を返します。

NXまたはXXが設定されているが、条件を満たさないため設定操作が実行されない場合、コマンドはNULL Bulk Replyを返します。

生存時間付きのsetex書き込み値

値 value をキーに関連付け、キーの有効期間を秒 (秒単位) に設定します。

keyが既に存在する場合、SETEXコマンドは古い値を上書きします。

このコマンドは、次の 2 つのコマンドに似ています:

キー値の設定

EXPIREキー秒数 # 生存時間を設定する

違いは、SETEX がアトミック操作であり、値の関連付けと生存時間の設定という 2 つのアクションが同時に完了することです。

このコマンドは、Redisをキャッシュとして使用する場合に非常に便利です。

#粒子

$redis->setex(‘key’, 3600, ‘value’); // 1h TTL でキー→値を設定します。

Setnx は繰り返されるかどうかを判断し、値を書き込みます

#キーが存在しない場合にのみ、キーの値を value に設定します。 指定されたキーがすでに存在する場合、SETNX は何もアクションを実行しません

$redis->setnx(‘key’, ‘value’);

$redis->setnx(‘key’, ‘value’);

deleteは指定されたキーの値を削除します

削除されたキーの数を返します (長整数)

$redis->delete(‘key1’, ‘key2’);

$redis->delete(array(‘key3’, ‘key4’, ‘key5’));

ttl

キーの生存時間を取得する

持続する

生存期限が切れたキーを削除します

キーの有効期限が切れる場合は true、期限が切れない場合は false

mset (redis バージョン 1.1 以降でのみ使用可能)

同時に複数のキーに値を割り当てます

$redis->mset(array(‘key0’ => ‘value0’, ‘key1’ => ‘value1’));

存在します

キーが存在するかどうかを確認します。 true が存在し、false ではありません

$redis->exists(‘test’);

増分、増分By

keyの値は1ずつインクリメントされます。2番目のパラメータが入力されている場合は、2番目のパラメータに入力された値だけインクリメントされます

$redis->incr(‘key1’);

$redis->incrBy(‘key1’, 10);

decr, decrBy

引き算をするには、incrと同じメソッドを使用します

複数を取得する

高麗人参を移す

キーで構成される配列

パラメータを返す

キーが存在する場合は値を返し、存在しない場合はfalseを返す

$redis->set(‘key1’, ‘value1’);

$redis->set(‘key2’, ‘value2’);

$redis->set(‘key3’, ‘value3’);

$redis->getMultiple(array(‘key1’, ‘key2’, ‘key3’));

$redis->lRem(‘key1’, ‘A’, 2);

$redis->lRange(‘key1’, 0, -1);#すべてのリストを取得します

関連する操作のリスト

lプッシュ

$redis->lPush(key, value);

値がvalueである要素をkeyという名前のリストの左側(先頭)に追加します

rプッシュ

$redis->rPush(key, value);

keyという名前のリストの右側(最後)にvalueをvalueとする要素を追加します

lプッシュx/rプッシュx

$redis->lPushx(キー, 値);

key という名前のリストの左 (先頭)/右 (末尾) に値を持つ要素を追加します。値が既に存在する場合は追加されません。

lポップ/rポップ

$redis->lPop(‘key’);

keyという名前のリストの左(先頭)/右(末尾)から最初の要素を出力し、その要素を削除します

blポップ/brポップ

$redis->blPop(‘key1’, ‘key2’, 10);

lpopコマンドのブロック版。つまり、タイムアウトが 0 の場合、key i という名前のリストが存在しないか、リストが空の場合、コマンドは終了します。 timeout>0 の場合、上記の状況が発生した場合は、timeout 秒間待ち、問題が解決しない場合は、keyi+1 から始まるリストに対してポップ操作を実行します

Lサイズ

$redis->lSize(‘key’);

keyという名前のリストに含まれる要素の数を返します

lインデックス、l取得

$redis->lGet(‘key’, 0);

keyという名前のリストのインデックス位置にある要素を返します

lセット

$redis->lSet(‘key’, 0, ‘X’);

key という名前のリスト内のインデックス位置の要素に値を割り当てます

lRange、lGetRange

$redis->lRange(‘key1’, 0, -1);

keyという名前のリストのstartとendの間の要素を返します(endは-1、すべてを返します)

lTrim、listTrim

$redis->lTrim(‘key’, start, end);

keyという名前のリストをインターセプトし、要素を開始と終了の間に保持します

lレム、l削除

$redis->lRem(‘key’, ‘A’, 2);

keyという名前のリストの値がvalueであるcount要素を削除します。 count は 0、値を持つすべての要素を削除します、count>0 は値を持つ count 要素を最初から最後まで削除します、count l挿入

key という名前のリストで pivot の値を見つけ、パラメータ Redis::BEFORE | Redis::AFTER に従って newvalue がピボットの前に配置されるか後に配置されるかを決定します。キーが存在しない場合は挿入されません。ピボットが存在しない場合は -1 を返します

$redis->delete('key1'); $redis->lInsert('key1', Redis::AFTER, 'A', 'X'); $redis->lPush('key1', ' A'); $redis->lPush('key1', 'B'); $redis->lInsert('key1', Redis::前、'C'、'X');

$redis->lRange(‘key1’, 0, -1);

$redis->lInsert(‘key1’, Redis::AFTER, ‘C’, ‘Y’);

$redis->lRange(‘key1’, 0, -1);

$redis->lInsert(‘key1’, Redis::AFTER, ‘W’, ‘value’);

rpoplpush

srckeyというリストの末尾要素を返して削除し、その要素をdstkeyというリストの先頭に追加します

$redis->delete(‘x’, ‘y’);

$redis->lPush('x', 'abc'); $redis->lPush('x', 'def'); $redis->lPush('y', '123'); redis->lPush('y', '456'); // x の最後の部分を y の前に移動します。

var_dump($redis->lRange(‘x’, 0, -1));

var_dump($redis->lRange(‘y’, 0, -1));

文字列(3)「abc」

array(1) { [0]=> string(3) “def” }

array(3) { [0]=> string(3) “abc” [1]=> string(3) “123″ }

SET操作関連

追加

要素の値を key という名前のセットに追加します。値が存在する場合は書き込まず、false を返します。

$redis->sAdd(key, value);

sRem、sRemove

keyという名前のセット内の要素の値を削除します

$redis->sAdd(‘key1’, ‘set1’);

$redis->sAdd(‘key1’, ‘set2’);

$redis->sAdd(‘key1’, ‘set3’);

$redis->sRem(‘key1’, ‘set2’);

移動

srckeyという名前のコレクションからdstkeyという名前のコレクションにvalue要素を移動します

$redis->sMove(seckey, dstkey, value);

s はメンバー、s は含まれます

keyという名前のコレクションにvalue要素があるかどうかを調べ、trueがあればfalseはありません

$redis->sIsMember(key, value);

sカード、sサイズ

keyという名前のセットの要素の数を返します

sポップ

key という名前のセット内の要素をランダムに返して削除します

ランドメンバー

key という名前のセット内の要素を削除せずにランダムに返します

sインター

交差点を探す

インターストア

交差を見つけて出力コレクションに保存します

$redis->sInterStore(‘output’, ‘key1’, ‘key2’, ‘key3’)

ユニオン

組合を見つけよう

$redis->sUnion(‘s0’, ‘s1’, ‘s2’);

s0、s1、s2の和集合を同時に求めます

ユニオンストア

ユニオンを見つけて出力コレクションに保存します

$redis->sUnionStore(‘output’, ‘key1’, ‘key2’, ‘key3’);

違い

間違い探しセット

sDiffStore

差分セットを見つけて、差分セットを出力セットに保存します

sメンバー、sGetMembers

key という名前のセットのすべての要素を返します

並べ替え

並べ替え、ページングなど

パラメータ

「by」 => 「some_pattern_*」、

‘limit’ => array(0, 1),

「get」 => 「some_other_pattern_*」 またはパターンの配列、

「sort」=>「asc」または「desc」、

「アルファ」 => TRUE、

「ストア」 => 「外部キー」

$redis->delete('s'); $redis->sadd('s', 4); ', 2); $redis->sadd('s', 1); $redis->sadd('s', 3);

var_dump($redis->sort(‘s’)) // 1,2,3,4,5

var_dump($redis->sort(‘s’, array(‘sort’ => ‘desc’))); // 5,4,3,2,1

var_dump($redis->sort(‘s’, array(‘sort’ => ‘desc’, ‘store’ => ‘out’))); // (int)5

文字列コマンド

getSet

元のキーの値を返し、その値をキーに書き込みます

$redis->set(‘x’, ’42’);

$exValue = $redis->getSet(‘x’, ‘lol’); // return '42'、x を ‘lol’ に置き換えます

$newValue = $redis->get(‘x’)’ // return ‘lol’

追記

文字列、keyという名前の文字列の値の後にvalueが続きます

$redis->set(‘key’, ‘value1’);

$redis->append(‘key’, ‘value2’);

$redis->get(‘key’);

getRange(メソッドが存在しません)

keyという名前の文字列の開始と終了の間の文字を返します

$redis->set(‘キー’, ‘文字列値’);

$redis->getRange(‘key’, 0, 5);

$redis->getRange(‘key’, -5, -1);

setRange(メソッドが存在しません)

キー文字列の開始と終了の間の文字を値に変更します

$redis->set(‘key’, ‘Hello world’);

$redis->setRange(‘key’, 6, “redis”);

$redis->get(‘key’);

ストレン

キーの文字列の長さを取得する

$redis->strlen(‘key’);

getBit/setBit

バイナリ情報を返す

http://www.bkjia.com/PHPjc/952701.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/952701.html技術記事 PHP-redis コマンドドキュメント Redis は本質的に Key/Value データベースであり、Memcached に似た NoSQL データベースですが、そのデータはディスク上に永続化できるため、サービスの再起動の問題を解決できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。