Heim > Backend-Entwicklung > PHP-Tutorial > Was sind die gängigen Methoden zum Betrieb von Redis in PHP? Zusammenfassung der Methoden zum Betrieb von Redis in PHP (mit Code)

Was sind die gängigen Methoden zum Betrieb von Redis in PHP? Zusammenfassung der Methoden zum Betrieb von Redis in PHP (mit Code)

不言
Freigeben: 2023-04-03 19:38:01
Original
1656 Leute haben es durchsucht

In diesem Artikel erfahren Sie, welche gängigen Methoden für den Betrieb von Redis in PHP gelten. Eine Zusammenfassung der Methode zum Betrieb von Redis in PHP (mit Code) hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.

Hintergrund: Redis ist ein neues Produkt, das in SNS sehr beliebt ist, und Memcache gibt es schon seit langem. Allerdings nutzen viele Websites die von Redis bereitgestellten Funktionen als Memcache Es gibt 30 Möglichkeiten, Redis zu nutzen, die es zu kennen gilt.
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, auf die sich bedürftige Freunde beziehen können Redis Ich habe früher einen relativ umfassenden Blog gesehen, kann ihn aber 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
Rückgabewert: BOOL Erfolgreiche Rückgabe: TRUE; Fehlerrückgabe: FALSE
Beispiel:

<?php  
$redis = new redis();  
$result = $redis->connect(&#39;127.0.0.1&#39;, 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:

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

3, get

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

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

4, delete

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 gelöschter Elemente
Beispiel:

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

5, setnx

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

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

6, existiert

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

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

7, incr

Beschreibung: Zahleninkrement Speichert den Schlüsselwert key.
Parameter: Schlüsselwert: Der Wert, der zum Schlüssel hinzugefügt wird
Rückgabewert: INT der neue Wert >Beschreibung: Speichert den Schlüsselwert numerisch in absteigender Reihenfolge.
Parameter: Schlüsselwert: der Wert, der dem Schlüssel hinzugefügt wird
Rückgabewert: INT der neue Wert
Instanz:

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

9, getMultiple
Beschreibung: Get all Gibt den Wert des Schlüssels an. 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:

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

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

11, rpush
Beschreibung: Fügen Sie eine Zeichenfolge hinzu vom Ende des Listenwerts. 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:

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

12, lpop
Beschreibung: Zurückgeben und entfernen die Liste Erstes Element
Parameter: Schlüssel
Rückgabewert: Gibt den Wert des ersten Elements zurück, wenn erfolgreich, false bei Fehler
Beispiel:

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

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

14, lget
Beschreibung: Gibt den angegebenen gespeicherten Schlüssel zurück in der Liste angegebene Elemente. 0 für das erste Element, 1 für das zweite ... -1 für das letzte Element, -2 für das vorletzte Element ... 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 bei Erfolg zurück, false bei Fehler
Beispiel:

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

15, lset
Beschreibung: Die Für die Liste angegebener Index. Weisen Sie einen neuen Wert zu. Wenn der Index nicht vorhanden ist, geben Sie false zurück.
Parameter: Schlüsselindexwert
Rückgabewert: Geben Sie true zurück, wenn erfolgreich, false, wenn fehlgeschlagen
Beispiel:

<?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"  
?>
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 Start Ende
Rückgabewert: Gibt den erfolgreich gefundenen Wert zurück, false bei Fehler

Beispiel:


<?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"  
?>
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: Gibt die Anzahl der gelöschten Elemente erfolgreich zurück, false bei Fehler
Beispiel:

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

18, sadd
Beschreibung: Fügen Sie a hinzu Geben Sie einen Wert ein. Wenn dieser Wert bereits in diesem Schlüssel enthalten ist, geben Sie FALSE zurück.
Parameter: Schlüsselwert
Rückgabewert: wahr bei Erfolg, falsch bei Fehler
Beispiel:

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

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

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

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

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

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

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" }  
?>
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.
返回值:成功返回,交集的个数,失败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" }  
?>
Nach dem Login kopieren

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 )  
?>
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.
返回值:成功返回,交集的个数,失败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 ) 
?>
Nach dem Login kopieren

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 )  
?>
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
返回值:成功返回数字,失败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 )  
?>
Nach dem Login kopieren

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

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

相关推荐:

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

Redis PHP连接操作,redisphp连接

PHP redis操作类 个人总结

Das obige ist der detaillierte Inhalt vonWas sind die gängigen Methoden zum Betrieb von Redis in PHP? Zusammenfassung der Methoden zum Betrieb von Redis in PHP (mit Code). 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