Maison > développement back-end > tutoriel php > Quelles sont les méthodes courantes pour faire fonctionner Redis en PHP ? Résumé des méthodes d'exploitation de Redis en PHP (avec code)

Quelles sont les méthodes courantes pour faire fonctionner Redis en PHP ? Résumé des méthodes d'exploitation de Redis en PHP (avec code)

不言
Libérer: 2023-04-03 19:38:01
original
1656 Les gens l'ont consulté

Ce que cet article vous apporte, c'est quelles sont les méthodes courantes pour faire fonctionner Redis en PHP ? Un résumé de la méthode de fonctionnement de Redis en PHP (avec code) a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère qu'il vous sera utile.

Contexte : Redis est un nouveau produit très populaire dans les SNS, et Memcache existe depuis longtemps. Cependant, de nombreux sites Web utilisent les fonctions fournies par Redis comme Memcache. C'est un grand talent mais une petite utilité ici. are 30 Il existe plusieurs façons d'utiliser Redis qui méritent d'être connues.
Cet article présente principalement 30 exemples de code de méthodes courantes pour faire fonctionner Redis en PHP. Cet article contient en fait plus de 30 méthodes, qui peuvent exploiter le type de chaîne, le type de liste et définir les données de type. Les amis dans le besoin peuvent se référer à
. redis J'ai beaucoup d'opérations. J'avais l'habitude de voir un blog relativement complet, mais je ne le trouve pas maintenant. Après une longue recherche, je vais résumer quelques exemples de traitement PHP redis. Je pense personnellement que certains exemples sont couramment utilisés. Les exemples suivants sont tous basés sur l'extension php-redis.
1, connect
Description : L'instance est connectée à un Redis.
Paramètres : hôte : string, port : int
Valeur de retour : BOOL Retour réussi : TRUE Retour d'échec : FALSE
Exemple :

<?php  
$redis = new redis();  
$result = $redis->connect(&#39;127.0.0.1&#39;, 6379);  
var_dump($result); //结果:bool(true)  
?>
Copier après la connexion

2, set
Description : Définir la valeur de la clé et de la valeur
Paramètre : Valeur de la clé
Valeur de retour : BOOL Retour en cas de succès : TRUE Return ; en cas d'échec : FALSE
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$result = $redis->set(&#39;test&#39;,"11111111111");  
var_dump($result);    //结果:bool(true)  
?>
Copier après la connexion

3, get
Description : Récupère la valeur de la clé spécifiée
Paramètre : clé
Valeur de retour : chaîne ou BOOL Si la clé n'existe pas, renvoie FALSE. Sinon, renvoie la valeur correspondant à la clé spécifiée.
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$result = $redis->get(&#39;test&#39;);  
var_dump($result);   //结果:string(11) "11111111111"  
?>
Copier après la connexion

4, supprimer

Description : Supprimer la clé spécifiée
Paramètres : une clé, ou un nombre non spécifié de paramètres, un pour chacun key Tableau : key1 key2 key3 ... keyN
Valeur de retour : Nombre d'éléments supprimés
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
echo $redis->get(&#39;test&#39;);   //结果:1111111111111  
$redis->delete(&#39;test&#39;);  
var_dump($redis->get(&#39;test&#39;));  //结果:bool(false)  
?>
Copier après la connexion

5, setnx
Description : Si l'élément ne le fait pas existe dans la base de données Clé, définissez le paramètre de valeur de clé
Paramètre : valeur de clé
Valeur de retour : BOOL Retour de réussite : TRUE ; Retour d'échec : FALSE
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
$redis->setnx(&#39;test&#39;,"22222222");  
echo $redis->get(&#39;test&#39;);  //结果:1111111111111  
$redis->delete(&#39;test&#39;);  
$redis->setnx(&#39;test&#39;,"22222222");  
echo $redis->get(&#39;test&#39;);  //结果:22222222  
?>
Copier après la connexion

6, existe
Description : Vérifiez si la clé spécifiée existe
Clé de paramètre
Valeur de retour : Bool Retour réussi : TRUE ; Retour d'échec : FALSE
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
var_dump($redis->exists(&#39;test&#39;));  //结果:bool(true)  
?>
Copier après la connexion

7, incr
Description : Incrément numérique pour stocker la valeur de la clé.
Paramètres : valeur de la clé : La valeur qui sera ajoutée à la clé
Valeur de retour : INT la nouvelle valeur
Instance :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"123");  
var_dump($redis->incr("test"));  //结果:int(124)  
var_dump($redis->incr("test"));  //结果:int(125)  
?>
Copier après la connexion

8, décr
Description : Stocke la valeur clé par ordre numérique décroissant.
Paramètres : valeur de la clé : la valeur qui sera ajoutée à la clé
Valeur de retour : INT la nouvelle valeur
Instance :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"123");  
var_dump($redis->decr("test"));  //结果:int(122)  
var_dump($redis->decr("test"));  //结果:int(121)  
?>
Copier après la connexion

9, getMultiple
Description : Obtenez les valeurs de toutes les clés spécifiées. Si une ou plusieurs clés n'existent pas, la valeur de cette clé dans le tableau est fausse
Paramètres : Tableau de listes contenant les valeurs des clés
Valeur de retour : Renvoie un tableau contenant les valeurs de toutes les clés
Instance :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test1&#39;,"1");  
$redis->set(&#39;test2&#39;,"2");  
$result = $redis->getMultiple(array(&#39;test1&#39;,&#39;test2&#39;));  
print_r($result);   //结果:Array ( [0] => 1 [1] => 2 )  
?>
Copier après la connexion

10, lpush
Description : Ajoutez une valeur de chaîne à partir de l'en-tête de la liste. Créez la liste si la clé n'existe pas. Si la clé existe et n'est pas une liste, renvoyez FALSE.
Paramètres : clé, valeur
Valeur de retour : renvoie la longueur du tableau en cas de succès, false en cas d'échec
Instance :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
var_dump($redis->lpush("test","111"));   //结果:int(1)  
var_dump($redis->lpush("test","222"));   //结果:int(2)  
?>
Copier après la connexion

11, rpush
Description : ajoutée à partir de la fin de la liste Valeur de chaîne. Créez la liste si la clé n'existe pas. Si la clé existe et n'est pas une liste, renvoyez FALSE.
Paramètres : clé, valeur
Valeur de retour : renvoie la longueur du tableau en cas de succès, false en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
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)  
?>
Copier après la connexion

12, lpop
Description : Retour et supprimez Le premier élément de la liste
Paramètres : clé
Valeur de retour : La valeur du premier élément est renvoyée avec succès, false est renvoyée en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->lpush("test","111");  
$redis->lpush("test","222");  
$redis->rpush("test","333");  
$redis->rpush("test","444");  
var_dump($redis->lpop("test"));  //结果:string(3) "222"  
?>
Copier après la connexion

13, lsize ,llen
Description : La longueur de la liste renvoyée. Si la liste n'existe pas ou est vide, la commande renvoie 0. Si la clé n'est pas une liste, cette commande renvoie FALSE.
Paramètre : Clé
Valeur de retour : renvoie la longueur du tableau en cas de succès, false en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->lpush("test","111");  
$redis->lpush("test","222");  
$redis->rpush("test","333");  
$redis->rpush("test","444");  
var_dump($redis->lsize("test"));  //结果:int(4)  
?>
Copier après la connexion

14, lget
Description : renvoie la valeur spécifiée clé stockée dans les éléments de liste spécifiés dans . 0 pour le premier élément, 1 pour le deuxième... -1 pour le dernier élément, -2 pour l'avant-dernier élément... Renvoie FALSE si le mauvais index ou la mauvaise clé ne pointe pas vers la liste.
Paramètres : index de clé
Valeur de retour : renvoie la valeur de l'élément spécifié avec succès, false en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$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"  
?>
Copier après la connexion

15, lset
Description : Spécifiez pour la liste Attribuez une nouvelle valeur à l'index, si l'index n'existe pas, retournez false.
Paramètre : valeur de l'index clé
Valeur de retour : Renvoie vrai en cas de succès, faux en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$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"  
?>
Copier après la connexion

16, lgetrange
Description :
Renvoie l'élément spécifié stocké du début à la fin dans la liste de clés spécifiée dans la plage, lGetRange(key, start, end). 0 le premier élément, 1 le deuxième élément... -1 le dernier élément, -2 l'avant-dernier élément...
Paramètre : clé début fin
Valeur de retour : Renvoie la valeur trouvée avec succès, false en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->lpush("test","111");  
$redis->lpush("test","222");  
print_r($redis->lgetrange("test",0,-1));  //结果:Array ( [0] => 222 [1] => 111 )  
?>
Copier après la connexion

17,lremove
Description : Supprimez le nombre de valeurs correspondantes de la liste en commençant par la tête. Si le nombre est nul, tous les éléments correspondants sont supprimés. Si le nombre est négatif, le contenu est supprimé depuis la fin.
Paramètre : valeur du nombre de clés
Valeur de retour : le nombre d'éléments supprimés est renvoyé avec succès, faux en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->lpush(&#39;test&#39;,&#39;a&#39;);  
$redis->lpush(&#39;test&#39;,&#39;b&#39;);  
$redis->lpush(&#39;test&#39;,&#39;c&#39;);  
$redis->rpush(&#39;test&#39;,&#39;a&#39;);  
print_r($redis->lgetrange(&#39;test&#39;, 0, -1)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a )  
var_dump($redis->lremove(&#39;test&#39;,&#39;a&#39;,2));   //结果:int(2)  
print_r($redis->lgetrange(&#39;test&#39;, 0, -1)); //结果:Array ( [0] => c [1] => b )  
?>
Copier après la connexion

18, sadd
Description : est-ce qu'une clé ajoute une valeur. Si cette valeur est déjà dans cette clé, renvoyez FALSE.
Paramètre : valeur clé
Valeur de retour : vrai en cas de succès, faux en cas d'échec
Exemple :

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
var_dump($redis->sadd(&#39;test&#39;,&#39;111&#39;));   //结果:bool(true)  
var_dump($redis->sadd(&#39;test&#39;,&#39;333&#39;));   //结果:bool(true)  
print_r($redis->sort(&#39;test&#39;)); //结果:Array ( [0] => 111 [1] => 333 )  
?>
Copier après la connexion

19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd(&#39;test&#39;,&#39;111&#39;);  
$redis->sadd(&#39;test&#39;,&#39;333&#39;);  
$redis->sremove(&#39;test&#39;,&#39;111&#39;);  
print_r($redis->sort(&#39;test&#39;));    //结果:Array ( [0] => 333 )  
?>
Copier après la connexion

20,smove
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->delete(&#39;test1&#39;);  
$redis->sadd(&#39;test&#39;,&#39;111&#39;);  
$redis->sadd(&#39;test&#39;,&#39;333&#39;);  
$redis->sadd(&#39;test1&#39;,&#39;222&#39;);  
$redis->sadd(&#39;test1&#39;,&#39;444&#39;);  
$redis->smove(&#39;test&#39;,"test1",&#39;111&#39;);  
print_r($redis->sort(&#39;test1&#39;));    //结果:Array ( [0] => 111 [1] => 222 [2] => 444 )  
?>
Copier après la connexion

21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd(&#39;test&#39;,&#39;111&#39;);  
$redis->sadd(&#39;test&#39;,&#39;112&#39;);  
$redis->sadd(&#39;test&#39;,&#39;113&#39;);  
var_dump($redis->scontains(&#39;test&#39;, &#39;111&#39;)); //结果:bool(true)  
?>
Copier après la connexion

22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd(&#39;test&#39;,&#39;111&#39;);  
$redis->sadd(&#39;test&#39;,&#39;112&#39;);  
echo $redis->ssize(&#39;test&#39;);   //结果:2  
?>
Copier après la connexion

23,spop
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd("test","111");  
$redis->sadd("test","222");  
$redis->sadd("test","333");  
var_dump($redis->spop("test"));  //结果:string(3) "333"  
?>
Copier après la connexion

24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$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" }  
?>
Copier après la connexion

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(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd("test","111");  
$redis->sadd("test","222");  
$redis->sadd("test","333");  
$redis->sadd("test1","111");  
$redis->sadd("test1","444");  
var_dump($redis->sinterstore(&#39;new&#39;,"test","test1"));  //结果:int(1)  
var_dump($redis->smembers(&#39;new&#39;));  //结果:array(1) { [0]=> string(3) "111" }  
?>
Copier après la connexion

26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$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 )  
?>
Copier après la connexion

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(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd("test","111");  
$redis->sadd("test","222");  
$redis->sadd("test","333");  
$redis->sadd("test1","111");  
$redis->sadd("test1","444");  
var_dump($redis->sinterstore(&#39;new&#39;,"test","test1"));  //结果:int(4)  
print_r($redis->smembers(&#39;new&#39;));  //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) 
?>
Copier après la connexion

28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$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 )  
?>
Copier après la connexion

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(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd("test","111");  
$redis->sadd("test","222");  
$redis->sadd("test","333");  
$redis->sadd("test1","111");  
$redis->sadd("test1","444");  
var_dump($redis->sdiffstore(&#39;new&#39;,"test","test1"));  //结果:int(2)  
print_r($redis->smembers(&#39;new&#39;));  //结果:Array ( [0] => 222 [1] => 333 )  
?>
Copier après la connexion

30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->delete(&#39;test&#39;);  
$redis->sadd("test","111");  
$redis->sadd("test","222");  
print_r($redis->smembers(&#39;test&#39;));  //结果:Array ( [0] => 111 [1] => 222 )  
?>
Copier après la connexion

php-redis当中,有很多不同名字,但是功能一样的函数,例如:lrem和lremove,这里就不例举

相关推荐:

php连接redis的操作库predis操作大全

Redis PHP连接操作,redisphp连接

PHP redis操作类 个人总结

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal