PHP で Redis を操作する一般的な方法は何ですか? PHPでredisを操作する方法まとめ(コード付き)
この記事でわかることは、PHP で Redis を操作する一般的な方法は何なのかということです。 PHPでredisを操作する方法をまとめたもの(コード付き)はある程度参考になるので、困っている友人は参考にしていただければ幸いです。
背景: Redis は SNS で人気の新しい製品であり、memcache は以前から存在していましたが、多くの Web サイトでは redis が提供する機能を memcache として使用しています。これは大きな才能ですが、小さな用途です。 Redis を使用するには、知っておく価値のある方法がいくつかあります。
この記事では主に、PHP で Redis を操作するための一般的なメソッドのコード例を 30 個紹介します。実際には、文字列型、リスト型、セット型のデータを操作できるメソッドが 30 個以上あります。必要な友人は、
を参照してください。 redis 操作が多くて、以前は比較的充実したブログがあったのですが、今は見つかりません。長い間検索した結果、個人的によく使われていると思ういくつかの PHP 処理 redis の例をまとめます。次の例はすべて php-redis 拡張機能に基づいています。
1, connect
説明: インスタンスは Redis に接続されています。
パラメータ: ホスト: 文字列、ポート: int
戻り値: BOOL 成功した場合の戻り値: TRUE、失敗した場合の戻り値: FALSE
例:
<?php $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //结果:bool(true) ?>
2, set
説明:keyとvalueの値を設定
パラメータ:Key Value
戻り値:BOOL 成功時:TRUE、失敗時:FALSE
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->set('test',"11111111111"); var_dump($result); //结果:bool(true) ?>
3,get
説明: 指定されたキーに関する値を取得します
パラメータ: key
戻り値: string または BOOL キーが存在しない場合存在する場合は FALSE を返します。それ以外の場合は、指定されたキーに対応する値を返します。
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->get('test'); var_dump($result); //结果:string(11) "11111111111" ?>
4, delete
説明: 指定されたキーを削除します
パラメーター: キー、または不特定数のパラメーター、各キーの配列:key1 key2 key3 ... keyN
戻り値: 削除された項目の数
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); var_dump($redis->get('test')); //结果:bool(false) ?>
5,setnx
説明: キーがデータベースに存在しない場合、キーを設定します 値パラメータ
パラメータ: キー値
戻り値: BOOL 成功した戻り値: TRUE; 失敗した戻り値: FALSE
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:22222222 ?>
6、存在します
説明: 指定されたキーが存在するかどうかを確認します
Parameter key
戻り値: Bool 成功した戻り値: TRUE; 失敗した戻り値: FALSE
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); var_dump($redis->exists('test')); //结果:bool(true) ?>
7, incr
説明: 数値インクリメント キー値 key を格納します
パラメータ: key value: キーに追加される値
戻り値: INT 新しい値
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"123"); var_dump($redis->incr("test")); //结果:int(124) var_dump($redis->incr("test")); //结果:int(125) ?>
8, decr
説明: キー値を降順で数値的に格納します。
パラメータ: キー値: キーに追加される値
戻り値: INT 新しい値
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"123"); var_dump($redis->decr("test")); //结果:int(122) var_dump($redis->decr("test")); //结果:int(121) ?>
9, getMultiple
説明:すべて取得 キーの値を指定します。 1 つ以上のキーが存在しない場合、配列内のそのキーの値は false になります。
パラメータ: キーの値を含むリストの配列
戻り値: の値を含む配列を返します。すべてのキー
例:
<?php $redis = new 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); //结果:Array ( [0] => 1 [1] => 2 ) ?>
10,lpush
説明: リストの先頭から文字列値を追加します。キーが存在しない場合はリストを作成します。キーが存在するがリストではない場合は、FALSE を返します。
パラメータ: key、value
戻り値: 成功した場合は配列の長さを返し、失敗した場合は false
インスタンス:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->lpush("test","111")); //结果:int(1) var_dump($redis->lpush("test","222")); //结果:int(2) ?>
11、rpush
説明: 文字列を追加します。リスト値の末尾から。キーが存在しない場合はリストを作成します。キーが存在するがリストではない場合は、FALSE を返します。
パラメータ: キー、値
戻り値: 成功した場合は配列の長さを返し、失敗した場合は false
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); 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、lpop
説明: 戻り値と削除値リスト 最初の要素
パラメータ: key
戻り値: 最初の要素の値が正常に返された場合は false を返します
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lpop("test")); //结果:string(3) "222" ?>
13,lsize,llen
説明: 返されたリストの長さ。リストが存在しないか空の場合、コマンドは 0 を返します。キーがリストでない場合、このコマンドは FALSE を返します。
パラメータ: Key
戻り値: 成功した場合は配列の長さを返し、失敗した場合は false
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lsize("test")); //结果:int(4) ?>
14、lget
説明: 保存されている指定されたキーを返します。リストで指定された要素。 0 最初の要素、1 秒目... -1 最後の要素、-2 最後から 2 番目... 間違ったインデックスまたはキーがリストを指していない場合は FALSE を返します。
パラメータ: キーインデックス
戻り値: 指定された要素の値が正常に返され、失敗した場合は false が返されます。
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); $redis->rpush("test","333"); $redis->rpush("test","444"); var_dump($redis->lget("test",3)); //结果:string(3) "444" ?>
15、lset
説明: インデックスリストに指定された新しい値を割り当てます。インデックスが存在しない場合は false を返します。
パラメータ: キー インデックス値
戻り値: 成功した場合は true、失敗した場合は false を返します
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","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 最初の要素、1 2 番目の要素... -1 最後の要素、-2 最後から 2 番目の要素...
パラメータ: key start end
戻り値: 正常に見つかった値を返し、失敗した場合は false
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); print_r($redis->lgetrange("test",0,-1)); //结果:Array ( [0] => 222 [1] => 111 ) ?>
17,lremove
説明: count に一致する値をリストの先頭から削除します。 count が 0 の場合、一致する要素はすべて削除されます。 count が負の場合、コンテンツは最後から削除されます。
パラメータ: キーカウント値
戻り値: 成功した場合は削除されたアイテムの数を返し、失敗した場合は false を返します
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush('test','a'); $redis->lpush('test','b'); $redis->lpush('test','c'); $redis->rpush('test','a'); print_r($redis->lgetrange('test', 0, -1)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a ) var_dump($redis->lremove('test','a',2)); //结果:int(2) print_r($redis->lgetrange('test', 0, -1)); //结果:Array ( [0] => c [1] => b ) ?>
18、sadd
説明: 追加a 値をキーにします。この値がすでにこのキーに含まれている場合は、FALSE を返します。
パラメータ: キー値
戻り値: 成功した場合は true、失敗した場合は false
例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->sadd('test','111')); //结果:bool(true) var_dump($redis->sadd('test','333')); //结果:bool(true) print_r($redis->sort('test')); //结果:Array ( [0] => 111 [1] => 333 ) ?>
19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','333'); $redis->sremove('test','111'); print_r($redis->sort('test')); //结果:Array ( [0] => 333 ) ?>
20,smove
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->delete('test1'); $redis->sadd('test','111'); $redis->sadd('test','333'); $redis->sadd('test1','222'); $redis->sadd('test1','444'); $redis->smove('test',"test1",'111'); print_r($redis->sort('test1')); //结果:Array ( [0] => 111 [1] => 222 [2] => 444 ) ?>
21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); $redis->sadd('test','113'); var_dump($redis->scontains('test', '111')); //结果:bool(true) ?>
22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); echo $redis->ssize('test'); //结果:2 ?>
23,spop
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); var_dump($redis->spop("test")); //结果:string(3) "333" ?>
24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinter("test","test1")); //结果:array(1) { [0]=> string(3) "111" } ?>
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","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,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","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,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sinterstore('new',"test","test1")); //结果:int(4) print_r($redis->smembers('new')); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?>
28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); print_r($redis->sdiff("test","test1")); //结果:Array ( [0] => 222 [1] => 333 ) ?>
29,sdiffstore
描述:执行sdiff命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); $redis->sadd("test","333"); $redis->sadd("test1","111"); $redis->sadd("test1","444"); var_dump($redis->sdiffstore('new',"test","test1")); //结果:int(2) print_r($redis->smembers('new')); //结果:Array ( [0] => 222 [1] => 333 ) ?>
30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("test","111"); $redis->sadd("test","222"); print_r($redis->smembers('test')); //结果:Array ( [0] => 111 [1] => 222 ) ?>
php-redis当中,有很多不同名字,但是功能一样的函数,例如:lrem和lremove,这里就不例举
相关推荐:
以上がPHP で Redis を操作する一般的な方法は何ですか? PHPでredisを操作する方法まとめ(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

ReactPhpの詳細な解釈の非ブロッキング機能の公式紹介は、多くの開発者の質問を呼び起こしました。
