ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで Redis を操作するための一般的なメソッドの 30 のコード例

PHP_PHP チュートリアルで Redis を操作するための一般的なメソッドの 30 のコード例

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

Redis 操作がたくさんあります。以前は比較的包括的なブログを見ていましたが、今は見つかりません。長い間検索した結果、個人的に一般的に使用されていると思われるいくつかの PHP 処理 redis の例をまとめます。次の例はすべて php-redis 拡張機能に基づいています。

1、接続

説明: Redis に接続されたインスタンス。
パラメータ: ホスト: 文字列、ポート: int
戻り値: BOOL 成功した場合: TRUE; 失敗した場合: FALSE

例:

コードをコピーします コードは次のとおりです:

$redis = 新しい redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //結果: bool(true)
?>


2、セット

説明: キーと値の値を設定します
パラメータ: キー値
戻り値: BOOL 成功した場合: TRUE; 失敗した場合: FALSE
例:

コードをコピーします コードは次のとおりです:
$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->set('test',"11111111111"); var_dump($result); //結果: bool(true)
?>




3、ゲット

説明: 指定されたキーに関する値を取得します

パラメータ: キー 戻り値: 文字列または BOOL キーが存在しない場合は、FALSE を返します。それ以外の場合は、指定されたキーに対応する値を返します。 例:



コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->get('test'); var_dump($result); //結果: string(11) "11111111111" ?>



4、削除



説明: 指定されたキーを削除します

パラメータ: キー、または不特定数のパラメータ、各キーの配列: key1 key2 key3 … keyN 戻り値: 削除されたアイテムの数 例:


コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('テスト',"1111111111111"); echo $redis->get('test'); //結果: 1111111111111 $redis->delete('テスト'); var_dump($redis->get('test')); //結果: bool(false) ?>


5,setnx


説明: キーがデータベースに存在しない場合は、キー値パラメータを設定します
パラメータ: キー値
戻り値: BOOL 成功した場合: TRUE; 失敗した場合: FALSE

例:

コードをコピーします コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('テスト',"1111111111111"); $redis->setnx('test',"22222222"); echo $redis->get('test'); //結果: 1111111111111

$redis->delete('テスト'); $redis->setnx('test',"22222222"); echo $redis->get('test'); //結果: 22222222

?>

6、存在します
説明: 指定されたキーが存在するかどうかを確認します
パラメータキー
戻り値: Bool 成功した場合: TRUE、失敗した場合: FALSE
例:



コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('テスト',"1111111111111"); var_dump($redis->exists('test')); //結果: bool(true)

?>


7,増額


説明: 格納されたキー値キーを数値的に増加させます。

パラメータ: key value: キーに追加される値 戻り値: INT 新しい値 例:
コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('テスト',"123"); var_dump($redis->incr("test")); //結果: int(124)
var_dump($redis->incr("test")); //結果: int(125)
?>


8,デクリ

説明: キー値を数値的に降順に格納します。
パラメータ: key value: キーに追加される値
戻り値: INT 新しい値
例:

コードをコピーします コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('テスト',"123"); var_dump($redis->decr("test")); //結果: int(122)
var_dump($redis->decr("test")); //結果: int(121)
?>


9,getMultiple

説明: 指定されたすべてのキーの値を取得します。 1 つ以上のキーが存在しない場合、配列内のそのキーの値は false になります パラメータ: キー値を含むリストの配列

戻り値: すべてのキーの値を含む配列を返します

例:



コードをコピーします

コードは次のとおりです: $redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test1',"1"); $redis->set('test2',"2"); $result = $redis->getMultiple(array('test1','test2')); print_r($result); //結果: 配列 ( [0] => 1 [1] => 2 )
?>



10、ルプシュ


説明: リストの先頭から文字列値を追加します。キーが存在しない場合はリストを作成します。キーが存在するがリストではない場合は、FALSE を返します。
パラメータ: キー、値
戻り値: 成功した場合は配列の長さを返し、失敗した場合は false を返します 例:

コードをコピーします


コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); var_dump($redis->lpush("test","111")); //結果: int(1) var_dump($redis->lpush("test","222")); //結果: int(2) ?>

11、rpush


説明: リストの末尾から文字列値を追加します。キーが存在しない場合はリストを作成します。キーが存在するがリストではない場合は、FALSE を返します。
パラメータ: キー、値
戻り値: 成功した場合は配列の長さを返し、失敗した場合は false を返します
例:

コードをコピーします コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); var_dump($redis->lpush("test","111")); //結果: int(1)
var_dump($redis->lpush("test","222")); //結果: int(2)
var_dump($redis->rpush("test","333")); //結果: int(3)

var_dump($redis->rpush("test","444")); //結果: int(4) ?>
12、lポップ


説明: リストの最初の要素を返し、削除します
パラメータ: キー
戻り値: 成功した場合は最初の要素の値を返し、失敗した場合は false を返します
例:



コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush("テスト","111"); $redis->lpush("テスト","222"); $redis->rpush("テスト","333"); $redis->rpush("テスト","444"); var_dump($redis->lpop("test")); //結果: string(3) "222"

?>



13、Lサイズ、レン

説明: 返されるリストの長さ。リストが存在しないか空の場合、コマンドは 0 を返します。キーがリストでない場合、このコマンドは FALSE を返します。 パラメータ: キー 戻り値: 成功した場合は配列の長さを返し、失敗した場合は false を返します
例:



コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush("テスト","111"); $redis->lpush("テスト","222"); $redis->rpush("テスト","333"); $redis->rpush("テスト","444"); var_dump($redis->lsize("test")); //結果: int(4)
?>

14、lget

説明: 指定されたキーを持つリストに格納されている指定された要素を返します。 0 最初の要素、1 秒目... -1 最後の要素、-2 最後から 2 番目... 間違ったインデックスまたはキーがリストを指していない場合は FALSE を返します。
パラメータ: キーインデックス
戻り値: 成功した場合は指定された要素の値を返し、失敗した場合は false を返します
例:

コードをコピーします コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush("テスト","111"); $redis->lpush("テスト","222"); $redis->rpush("テスト","333"); $redis->rpush("テスト","444"); var_dump($redis->lget("test",3)); //結果: string(3) "444"
?>



15、lset


説明: リストで指定されたインデックスに新しい値を割り当てます。インデックスが存在しない場合は、false を返します。 パラメータ: キーインデックス値
戻り値: 成功した場合は true、失敗した場合は false

例:

コードをコピーします


コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush("テスト","111"); $redis->lpush("テスト","222"); var_dump($redis->lget("test",1)); //結果: string(3) "111" var_dump($redis->lset("test",1,"333")); //結果: bool(true) var_dump($redis->lget("test",1)); //結果: string(3) "333" ?>


16,lgetrange


説明:
範囲内の指定されたキーのリストに最初から最後まで格納されている指定された要素を返します、lGetRange(key, start, end)。最初の要素は 0、2 番目の要素は 1...最後の要素は -1、最後から 2 番目の要素は -2...
パラメータ: キーの開始終了
戻り値: 成功した場合は見つかった値を返し、失敗した場合は false を返します
例:

コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush("テスト","111"); $redis->lpush("テスト","222"); print_r($redis->lgetrange("test",0,-1)); //結果: Array ( [0] => 222 [1] => 111 )
?>


17,l削除 説明: count に一致する値をリストから先頭から削除します。 count が 0 の場合、一致する要素はすべて削除されます。 count が負の場合、コンテンツは最後から削除されます。 パラメータ: キーカウント値
戻り値: 成功した場合は削除されたアイテムの数を返し、失敗した場合は false を返します
例:



コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->lpush('テスト','a'); $redis->lpush('test','b'); $redis->lpush('テスト','c'); $redis->rpush('テスト','a'); print_r($redis->lgetrange('test', 0, -1)); //結果: Array ( [0] => c [1] => b [2] => a [3] => )

var_dump($redis->lremove('test','a',2)); //結果: int(2) print_r($redis->lgetrange('test', 0, -1)); //結果: Array ( [0] => c [1] => b ) ?>



18、悲しい

説明: キーに値を追加します。この値がすでにこのキーに含まれている場合は、FALSE を返します。 パラメータ: キー値 戻り値: 成功した場合は true、失敗した場合は false 例:

コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); var_dump($redis->sadd('test','111')); //結果: bool(true)
var_dump($redis->sadd('test','333')); //結果: bool(true)
print_r($redis->sort('test')); //結果: 配列 ( [0] => 111 [1] => 333 )
?>

19、削除

説明: Keyに指定された値を削除します

パラメータ: 主要メンバー

戻り値: true または false
例:


コードをコピーします コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd('テスト','111'); $redis->sadd('テスト','333'); $redis->sremove('test','111'); print_r($redis->sort('test')); //結果: 配列 ([0] => 333)
?>



20、動きます

説明: Key1 の値を Key2 に移動します

パラメータ: srcKey dstKey メンバー

戻り値: true または false


コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->delete('test1'); $redis->sadd('テスト','111'); $redis->sadd('テスト','333'); $redis->sadd('test1','222'); $redis->sadd('test1','444'); $redis->smove('test',"test1",'111'); print_r($redis->sort('test1')); //結果: 配列 ( [0] => 111 [1] => 222 [2] => 444 ) ?>

21、

が含まれます
説明: 指定された値がコレクションに存在するかどうかを確認します。
パラメータ: キー値
戻り値: true または false
例:



コードをコピーします
コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd('テスト','111'); $redis->sadd('テスト','112'); $redis->sadd('テスト','113'); var_dump($redis->scontains('test', '111')); //結果: bool(true)

?>




22、sサイズ

説明: コレクションに格納されている値の数を返します パラメータ: キー 戻り値: 成功した場合は配列の数が返され、失敗した場合は 0 が返されます 例:


コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd('テスト','111'); $redis->sadd('テスト','112'); echo $redis->ssize('test'); //結果: 2
?>

23、スポッ


説明: キーの値をランダムに削除して返します
パラメータ: キー
戻り値: 成功した場合は削除された値を返し、失敗した場合は false を返します
例:

コードをコピーします
コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); var_dump($redis->spop("test")); //結果: string(3) "333"
?>



24、シンター

説明: 指定されたすべてのキーの共通部分を返します。キーのみが指定されている場合、このコマンドはセットのメンバーを生成します。キーが存在しない場合は FALSE を返します。

パラメータ: key1、key2、keyN 戻り値: 成功した場合は配列の交差部分を返し、失敗した場合は false を返します 例:



コードをコピーします

コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinter("test","test1")); //結果: array(1) { [0]=> string(3) "111" } ?>


25、シンターストア


説明: sInter コマンドを実行し、結果を新しく作成した変数に保存します。
パラメータ:
キー: dstkey、差分を保存するキー。
キー: key1、key2…keyN。key1..keyN は sInter.
のように交差します。 戻り値: 成功した場合は交差の数、失敗した場合は false
例:

コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinterstore('new',"test","test1")); //結果: int(1)
var_dump($redis->smembers('new')); //結果: array(1) { [0]=> string(3) "111" } ?>



26、スニオン


説明:
指定されたすべてのキーの和集合を返します
パラメータ:
キー: key1、key2、…、keyN 戻り値: マージされたセットは正常に返され、失敗した場合は false が返されます

例:

コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); print_r($redis->sunion("test","test1")); //結果: Array ( [0] => 111 [1] => 222 [2] => 333 [3] = >444)

?> 27、サニオンストア

説明: sunion コマンドを実行し、結果を新しく作成した変数に保存します。
パラメータ:
キー: dstkey、差分を保存するキー。
キー: key1、key2…keyN。key1..keyN は sInter.
のように交差します。 戻り値: 成功した場合は交差の数、失敗した場合は false
例:



コードをコピーします
コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinterstore('new',"test","test1")); //結果: int(4)

print_r($redis->smembers('new')); //Result:Array ([0] => 111 [1] => 222 [2] => 333 [3] => 444 )

?>



28,sdiff

説明: 最初のセットに存在し、他のすべてのセットには存在しない結果を返します パラメーター: キー: key1、key2、…、keyN: redis 内のセットに対応する任意の数のキー 戻り値: 成功した場合は配列が返され、失敗した場合は false が返されます 例:

コードをコピーします

コードは次のとおりです:


$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); print_r($redis->sdiff("test","test1")); //結果: Array ( [0] => 222 [1] => 333 )
?>



29、sdiffstore

説明: sdiff コマンドを実行し、結果を新しく作成した変数に保存します。 パラメータ:

キー: dstkey、差分を保存するキー。

キー: key1、key2、…、keyN: redis のセットに対応する任意の数のキー
戻り値: 成功した場合は数値を返し、失敗した場合は false を返します
例:

コードをコピーします コードは次のとおりです:
$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); $redis->sadd("テスト","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sdiffstore('new',"test","test1")); //結果: int(2)
print_r($redis->smembers('new')); //Result:Array ( [0] => 222 [1] => 333 )
?>

30、メンバー、メンバー

説明:
コレクションの内容を返却します
パラメータ: キー: キー
戻り値: 要素の配列、セットの内容。
例:

コードをコピーします コードは次のとおりです:

$redis = 新しい redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('テスト'); $redis->sadd("テスト","111"); $redis->sadd("テスト","222"); print_r($redis->smembers('test')); //Result:Array ( [0] => 111 [1] => 222 )
?>

php-redis には、lrem や lremove など、名前は異なるが同じ機能を持つ関数が多数ありますが、これらはここにはリストされていません。



http://www.bkjia.com/PHPjc/824609.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/824609.html技術記事以前は比較的包括的なブログを見たことがありますが、現在は見つかりません。長い間検索した結果、個人的によく使用されていると思われる PHP 処理 Redis の例をいくつか紹介します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:(转)yii流程,入口文件下的准备工作_PHP教程次の記事:采用memcache在web集群中实现session的同步会话_PHP教程

関連記事

続きを見る