Comment utiliser le cache Redis

Libérer: 2019-07-08 09:15:28
avant
4715 Les gens l'ont consulté

Comment utiliser le cache Redis

La technologie de mise en cache Redis est généralement utilisée pour certaines données fréquemment interrogées et qui ne changent pas fréquemment. Elles peuvent être interrogées à partir de la base de données et stockées dans le cache Redis (le cache Redis est stocké dans). mémoire et peut être conservé pendant une longue période), l'utilisateur lit directement les données dans le cache lors de l'accès, de sorte que la requête de la base de données ne soit pas lente lorsque le volume d'accès et la concurrence sont importants. Dans les projets réels, le tableau de données du. la base de données est généralement convertie en chaîne json, en utilisant set La méthode enregistre et la méthode get obtient. Voici quelques façons d'utiliser Redis.

$redis = new redis(); 
$result = $redis->connect('127.0.0.1', 6379);
//$redis->auth('pt#1234@re'); //存在密码时链接
var_dump($result); //结果:bool(true) 
$redis->set('name',111);
$redis->lpush('value',111);
$redis->expire('name',10);//设置过期时间,不设置过去时间时,默认为永久保持
//$redis->expire('value',10);//不设置时,默认为-1,永久保持
Copier après la connexion

1, connect
Description : L'instance est connectée à un Redis.
Paramètres : hôte : chaîne, 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 ; Retour 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ètres : key
Valeur de retour : string 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, delete
Description : Supprimer la clé spécifiée
Paramètres : une clé, ou un nombre indéterminé de paramètres, un tableau pour chaque clé : clé1 clé2 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 la clé n'existe pas dans la base de données, 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érifier si la clé spécifiée est Il y a
clé de paramètre
Valeur de retour : Bool Retour de réussite : TRUE ; Retour d'échec : FALSE clé.
Paramètres : valeur de 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;,"1111111111111");  
var_dump($redis->exists(&#39;test&#39;));  //结果:bool(true)  
?>
Copier après la connexion

8, decr
Description : Stocker les valeurs clés par ordre numérique décroissant.
Paramètres : key value : 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

9, getMultiple
Description : Get all Spécifie la valeur de la clé. 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;test&#39;,"123");  
var_dump($redis->decr("test"));  //结果:int(122)  
var_dump($redis->decr("test"));  //结果:int(121)  
?>
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->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

11, rpush
Description : Ajouter une chaîne à partir de la fin de la valeur 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

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)  
?>
Copier après la connexion

12, lpop
Description : retour et suppression la liste Premier élément
Paramètres : clé
Valeur de retour : Renvoie la valeur du premier élément 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

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ètres : 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->lpop("test"));  //结果:string(3) "222"  
?>
Copier après la connexion

14, lget
Description : Renvoie la clé spécifiée stockée dans la liste des éléments spécifiés. 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é 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

15, lset
Description : Le index spécifié pour la liste Attribuez une nouvelle valeur, si l'index n'existe pas, renvoyez 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");  
$redis->rpush("test","333");  
$redis->rpush("test","444");  
var_dump($redis->lget("test",3));  //结果:string(3) "444"  
?>
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...
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");  
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

17,lremove
Description : Supprimer le nombre de valeurs correspondantes de l'en-tête de la liste. 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 : renvoie le nombre d'éléments supprimés 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("test","111");  
$redis->lpush("test","222");  
print_r($redis->lgetrange("test",0,-1));  //结果:Array ( [0] => 222 [1] => 111 )  
?>
Copier après la connexion

18, sadd
Description : ajouter un Saisissez une valeur. Si cette valeur est déjà dans cette clé, renvoyez FALSE.
Paramètre : valeur de la 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(&#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

19, sremove
Description : supprime la valeur spécifiée dans Key
Paramètre : membre clé
Valeur de retour : vrai ou faux

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

20,smove
Description : Déplacer la valeur de Key1 vers Key2
Paramètres : srcKey dstKey membre
Valeur de retour : vrai ou faux

Exemple


<?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

更多Redis相关知识,请访问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:cnblogs.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!