30 php 操作 redis の一般的なメソッドのコード例

藏色散人
リリース: 2023-04-07 15:24:01
転載
2725 人が閲覧しました

この記事では主に、PHP で Redis を操作するための一般的なメソッドのコード例を 30 個紹介します。実際には、文字列型、リスト型、セット型のデータを操作できるメソッドが 30 個以上あります。必要な友人は参照してください

Redis の操作は数多くありますが、個人的に一般的に使用されていると思われる PHP による Redis の処理例をいくつか紹介します。次の例はすべて php-redis 拡張機能に基づいています。

#1, connect#説明: インスタンスは Redis に接続されています。

#パラメータ: ホスト: 文字列、ポート: int

戻り値: BOOL 成功した場合の戻り値: TRUE、失敗した場合の戻り値: FALSE

例:

connect('127.0.0.1', 6379); 
var_dump($result); //结果:bool(true) 
?>
ログイン後にコピー

2, set

説明: キーとセット値 Value

パラメータ: キー値

戻り値: BOOL 成功の戻り値: TRUE; 失敗の戻り値: FALSE

例:

connect('127.0.0.1', 6379); 
$result = $redis->set('test',"11111111111"); 
var_dump($result);    //结果:bool(true) 
?>
ログイン後にコピー

3 、get

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

パラメータ: key

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

例:

connect('127.0.0.1', 6379); 
$result = $redis->get('test'); 
var_dump($result);   //结果:string(11) "11111111111" 
?>
ログイン後にコピー

4,delete

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

パラメータ: キー、または未定義の数値パラメータの配列、各キーの配列: key1 key2 key3 ... keyN

戻り値: 削除された項目の数

例:

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

例:

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,exists

説明:指定されたキーが存在するかどうかを確認します

パラメータ キー

戻り値: Bool 成功した場合の戻り値: TRUE; 失敗した場合の戻り値: FALSE

例:

connect('127.0.0.1', 6379); 
$redis->set('test',"1111111111111"); 
var_dump($redis->exists('test'));  //结果:bool(true) 
?>
ログイン後にコピー

7, incr

# 説明: 数値増分ストレージ キー。
パラメータ: キー値: キーに追加される値

戻り値: INT 新しい値

インスタンス:

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 新しい値

インスタンス:

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 になります。 パラメータ: キー値を含むリストの配列

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

例:

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 を返します。 パラメータ: キー、値

戻り値: 成功した場合は配列の長さを返し、失敗した場合は false を返します。

インスタンス:

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 を返します。

例:

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

を返します。例:

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

#例:

#
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 を返します

例:

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

#例:

#

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

戻り値: 値を正常に返します。 found 、failed false

例:

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 が 0 の場合、一致する要素はすべて削除されます。 count が負の場合、コンテンツは最後から削除されます。

パラメータ: キーカウント値

戻り値: 成功した場合は削除されたアイテムの数を返し、失敗した場合は false を返します

例:

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

説明: キーに値を追加します。この値がすでにこのキーに含まれている場合は、FALSE を返します。

パラメータ: キー値

戻り値: 成功した場合は true、失敗した場合は false

例:

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 ,s削除

#

描述:删除Key中指定的value值

参数:key member

返回值:true or false

范例:

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

范例

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

范例:

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

范例:

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

范例:

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

范例:

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

范例:

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

范例:

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

范例:

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

范例:

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

范例:

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.

范例:

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相关知识,请访问PHP中文网

以上が30 php 操作 redis の一般的なメソッドのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!