Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung gängiger Methoden zum Betrieb von Redis in PHP

Zusammenfassung gängiger Methoden zum Betrieb von Redis in PHP

黄舟
Freigeben: 2023-03-15 20:02:01
Original
2348 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich 30 Codebeispiele für den Betrieb von Redis in PHP vorgestellt. Dieser Artikel enthält tatsächlich mehr als 30 Methoden, mit denen Sie String-Typ-, Listentyp- und Set-Typ-Daten verarbeiten können

Es gibt viele Redis-Operationen. Früher habe ich einen relativ umfassenden Blog gesehen, aber ich kann ihn jetzt nicht finden. Nach langer Suche werde ich einige Beispiele für die PHP-Verarbeitung von Redis zusammenfassen. Ich persönlich denke, dass einige Beispiele häufig verwendet werden. Die folgenden Beispiele basieren alle auf der Erweiterung php-redis.

1, verbinden

Beschreibung: Die Instanz ist mit einem Redis verbunden
Parameter: host: string,port: int
Erfolgreiche Rückgabe: TRUE

Beispiel:

 connect('127.0.0.1', 6379); 
var_dump($result); //结果:bool(true) 
?>
Nach dem Login kopieren

2, set

Beschreibung: Wert von Schlüssel und Wert festlegen
Parameter: Schlüsselwert
Rückgabewert: BOOL Erfolgreiche Rückgabe : TRUE; Fehlerrückgabe: FALSE
Beispiel:

 connect('127.0.0.1', 6379); 
$result = $redis->set('test',"11111111111"); 
var_dump($result);    //结果:bool(true) ?>
Nach dem Login kopieren

3, get

Beschreibung: Wert über den angegebenen Schlüssel abrufen
Parameter: Schlüssel
Rückgabewert : string oder BOOL Wenn der Schlüssel nicht existiert, wird FALSE zurückgegeben. Andernfalls wird der Wert zurückgegeben, der dem angegebenen Schlüssel entspricht.
Beispiel:

 connect('127.0.0.1', 6379); 
$result = $redis->get('test'); 
var_dump($result);   //结果:string(11) "11111111111" ?>
Nach dem Login kopieren

4, löschen

Beschreibung: Den angegebenen Schlüssel löschen
Parameter: ein Schlüssel oder eine nicht angegebene Anzahl von Parametern, ein Array für jeden Schlüssel: key1 key2 key3 … keyN
Rückgabewert: Anzahl der gelöschten Elemente
Beispiel:

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) ?>
Nach dem Login kopieren

5, setnx

Beschreibung: Wenn der Schlüssel nicht in der Datenbank vorhanden ist, Schlüsselwertparameter festlegen
Parameter: Schlüsselwert
Rückgabewert: BOOL Erfolgsrückgabe: TRUE; Fehlerrückgabe: FALSE

Beispiel:

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 ?>
Nach dem Login kopieren

6, existiert

Beschreibung: Überprüfen Sie, ob der angegebene Schlüssel vorhanden ist
Parameterschlüssel
Rückgabewert: Bool Erfolgreiche Rückgabe: TRUE; Fehlerrückgabe: FALSE
Beispiel:

connect('127.0.0.1', 6379); 
$redis->set('test',"1111111111111"); 
var_dump($redis->exists('test'));  //结果:bool(true) ?>
Nach dem Login kopieren

7, incr

Beschreibung: Speichert den Schlüsselwert in numerischen Schritten
Parameter: Schlüsselwert: Der Wert, der zum Schlüssel hinzugefügt wird
Rückgabewert: INT der neue Wert
Instanz:

<p style="margin-bottom: 7px;">connect(&#39;127.0.0.1&#39;, 6379); <br/>$redis->set(&#39;test&#39;,"123"); <br/>var_dump($redis->incr("test"));  //结果:int(124) var_dump($redis->incr("test"));  //结果:int(125) ?><br/></p>
Nach dem Login kopieren

8, decr

Beschreibung: Speichern Sie den Schlüsselwert in numerisch absteigender Reihenfolge.
Parameter: Schlüsselwert: der Wert, der zum Schlüssel hinzugefügt wird
Rückgabewert: INT der neue Wert
Instanz:

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) ?>
Nach dem Login kopieren

9, getMultiple

Beschreibung: Rufen Sie die Werte aller angegebenen Schlüssel ab. Wenn ein oder mehrere Schlüssel nicht vorhanden sind, ist der Wert dieses Schlüssels im Array falsch
Parameter: Array von Listen mit den Werten der Schlüssel
Rückgabewert: Gibt ein Array zurück, das die Werte von enthält alle Schlüssel
Instanz:

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 ) ?>
Nach dem Login kopieren

10, lpush

Beschreibung: Fügen Sie einen Zeichenfolgenwert vom Kopf der Liste hinzu. Erstellen Sie die Liste, wenn der Schlüssel nicht vorhanden ist. Wenn der Schlüssel existiert und keine Liste ist, geben Sie FALSE zurück.
Parameter: Schlüssel, Wert
Rückgabewert: Gibt die Array-Länge bei Erfolg zurück, false bei Fehler
Instanz:

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) ?>
Nach dem Login kopieren

11, rpush

Beschreibung: Hinzugefügt vom Ende des Listenzeichenfolgenwerts. Erstellen Sie die Liste, wenn der Schlüssel nicht vorhanden ist. Wenn der Schlüssel existiert und keine Liste ist, geben Sie FALSE zurück.
Parameter: Schlüssel, Wert
Rückgabewert: Gibt die Array-Länge bei Erfolg zurück, false bei Fehler
Beispiel:

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) ?>
Nach dem Login kopieren

12, lpop

Beschreibung: Rückgabe und entfernen Das erste Element der Liste
Parameter: Schlüssel
Rückgabewert: Der Wert des ersten Elements wird erfolgreich zurückgegeben, bei Fehler wird false zurückgegeben
Beispiel:

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" ?>
Nach dem Login kopieren

13 , lsize,llen

Beschreibung: Die Länge der zurückgegebenen Liste. Wenn die Liste nicht existiert oder leer ist, gibt der Befehl 0 zurück. Wenn der Schlüssel keine Liste ist, gibt dieser Befehl FALSE zurück.
Parameter: Schlüssel
Rückgabewert: Gibt die Array-Länge bei Erfolg zurück, false bei Fehler
Beispiel:

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) ?>
Nach dem Login kopieren

14, lget

Beschreibung: Gibt die angegebene zurück Schlüssel, der in den in angegebenen Listenelementen gespeichert ist. 0 erstes Element, 1 zweites ... -1 letztes Element, -2 zweitletztes ... Gibt FALSE zurück, wenn der falsche Index oder Schlüssel nicht auf die Liste zeigt.
Parameter: Schlüsselindex
Rückgabewert: Gibt den Wert des angegebenen Elements zurück, wenn erfolgreich, false bei Fehler
Beispiel:

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" ?>
Nach dem Login kopieren

15, lset

Beschreibung : Geben Sie für die Liste an. Weisen Sie dem Index einen neuen Wert zu und geben Sie „false“ zurück, wenn der Index nicht existiert.
Parameter: Schlüsselindexwert.
Rückgabewert: Geben Sie „true“ zurück, wenn dies erfolgreich ist, und „false“, wenn dies fehlschlägt.
Beispiel:

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" ?>
Nach dem Login kopieren

16 , lgetrange

Beschreibung:
Gibt das angegebene Element zurück, das von Anfang bis Ende in der angegebenen Schlüsselliste im Bereich gespeichert ist, lGetRange(key, start, end). 0 das erste Element, 1 das zweite Element... -1 das letzte Element, -2 das vorletzte...
Parameter: Schlüssel Anfang Ende
Rückgabewert: Gibt den erfolgreich gefundenen Wert zurück, bei Fehler falsch
Beispiel:

 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 ) ?>
Nach dem Login kopieren

17,lremove

Beschreibung: Anzahl übereinstimmender Werte aus dem Kopf der Liste entfernen. Wenn count Null ist, werden alle übereinstimmenden Elemente entfernt. Wenn count negativ ist, wird der Inhalt am Ende gelöscht.
Parameter: Schlüsselanzahlwert
Rückgabewert: Die Anzahl der gelöschten Elemente wird erfolgreich zurückgegeben, falsch bei Fehler
Beispiel:

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 ) ?>
Nach dem Login kopieren

18, sadd

Beschreibung : ist ein Schlüssel, der einen Wert hinzufügt. Wenn dieser Wert bereits in diesem Schlüssel enthalten ist, geben Sie FALSE zurück.
Parameter: Schlüsselwert
Rückgabewert: Bei Erfolg true zurückgeben, bei Fehler false
Beispiel:

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 ) ?>
Nach dem Login kopieren

19, sremove

Beschreibung: Den angegebenen Wert löschen im Schlüsselwert
Parameter: Schlüsselmitglied
Rückgabewert: wahr oder falsch
Beispiel:

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 ) ?>
Nach dem Login kopieren

20,smove

Beschreibung: Verschieben Sie den Wert in Schlüssel1 nach Key2 Medium
Parameter: srcKey dstKey member
Rückgabewert: true oder false
Beispiel

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 ) ?>
Nach dem Login kopieren

21,scontains

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

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) ?>
Nach dem Login kopieren

22,ssize

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

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 ?>
Nach dem Login kopieren

23,spop

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

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" ?>
Nach dem Login kopieren

24,sinter

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

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" } ?>
Nach dem Login kopieren

25,sinterstore

描述:执行sInter命令并把结果储存到新建的变量中。
参数:

Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
Nach dem Login kopieren
Nach dem Login kopieren

返回值:成功返回,交集的个数,失败false
范例:

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" } ?>
Nach dem Login kopieren

26,sunion

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

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 ) ?>
Nach dem Login kopieren

27,sunionstore

描述:执行sunion命令并把结果储存到新建的变量中。
参数:

Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
Nach dem Login kopieren
Nach dem Login kopieren

返回值:成功返回,交集的个数,失败false
范例:

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 ) ?>
Nach dem Login kopieren

28,sdiff

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

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 ) ?>
Nach dem Login kopieren

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
Nach dem Login kopieren

返回值:成功返回数字,失败false
范例:

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 ) ?>
Nach dem Login kopieren

30,smembers, sgetmembers

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

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 ) ?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung gängiger Methoden zum Betrieb von Redis in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage