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

黄舟
黄舟Original
2017-09-08 09:14:202345Durchsuche

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

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

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

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

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

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

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>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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(&#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" } ?>

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

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(&#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 ) ?>

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

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(&#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 ) ?>

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

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!

Stellungnahme:
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