Heim > Backend-Entwicklung > PHP-Problem > Was sind die gängigen Methoden zum Betrieb von Redis in PHP?

Was sind die gängigen Methoden zum Betrieb von Redis in PHP?

青灯夜游
Freigeben: 2023-03-11 15:16:01
Original
2706 Leute haben es durchsucht

php Redis-Methoden: connect(), set(), get(), delete(), setnx(), exist(), incr(), decr(), getMultiple(), lpush(), rpush(), lpop(), lget() usw.

Was sind die gängigen Methoden zum Betrieb von Redis in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Gemeinsame Methoden zum Betrieb von Redis mit PHP

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: Set der Wert von Schlüssel und Wert.

Parameter: Schlüsselwert key

Parameter: key

Rückgabewert: string oder BOOL Wenn der Schlüssel nicht existiert, geben Sie FALSE zurück. 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->set(&#39;test&#39;,"11111111111");
var_dump($result); //结果:bool(true)
?>
Nach dem Login kopieren

4, löschen

Beschreibung: Den angegebenen Schlüssel löschen

Parameter: ein Schlüssel oder eine unbestimmte Anzahl von Parametern, ein Array für jeden Schlüssel: Schlüssel1, Schlüssel2, Schlüssel3 ... SchlüsselN

Zurück Wert: Anzahl gelöschter Elemente

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
5, setnx

Beschreibung: Wenn es nicht existiert, setzen Sie es, wenn es existiert, ändern Sie es nicht

Parameter: Schlüsselwert

Rückgabewert: BOOL Erfolgreiche Rückgabe: TRUE; Fehlerhafte Rückgabe: FALSE

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
6, existiert

Beschreibung: Überprüfen Sie, ob der angegebene Schlüssel existiert

Parameterschlüssel

Rückgabewert: Bool Erfolgreiche Rückgabe: TRUE; Fehlerhafte Rü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

7, incr

Beschreibung: Numerisches Inkrement zum Speichern des Schlüsselwerts key.

Parameter: Schlüsselwert: Der Wert, der dem Schlüssel hinzugefügt wird

Rückgabewert: INT the neuer Wert

Instanz:

<?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
8, decr

Beschreibung: Schlüsselwert in numerisch absteigender Reihenfolge speichern.

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: Ruft die Werte aller angegebenen Schlüssel ab . Wenn ein oder mehrere Schlüssel nicht vorhanden sind, ist der Wert des Schlüssels im Array falsch. [Kann nicht mit dem Satz arbeiten, sonst ist er falsch]

Parameter: ein Listenarray mit den Schlüsselwerten

Rückgabewert: Gibt eine Liste zurück, die alle Schlüssel enthält. Array von Werten

Beispiel:

<?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 einen Zeichenfolgenwert vom Ende 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

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: Gibt das erste Element der Liste zurück und entfernt es.

Parameter: key

Rückgabewert: Gibt den Wert des ersten Elements erfolgreich zurück, gibt bei Fehler false zurück

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 das Element mit dem angegebenen Schlüssel zurück, der am angegebenen Index im gespeichert ist Liste. 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 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: Weisen Sie dem im angegebenen Index einen neuen Wert zu Liste, wenn sie nicht existiert, gibt der Index „false“ zurück.

Parameter: Schlüsselindexwert

Rückgabewert: Gibt „true“ 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->lget("test",3)); //结果:string(3) "444"
?>
Nach dem Login kopieren
16, lgetrange

Beschreibung:

Return zur angegebenen Schlüsselliste im Bereich Spezifizierte Elemente, die von Anfang bis Ende gespeichert sind [kann die gesamte Liste drucken], 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 der Liste entfernen, beginnend am Kopf. 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, falsch 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 einem Schlüssel einen Wert hinzu. Wenn dieser Wert bereits in diesem Schlüssel enthalten ist, geben Sie FALSE zurück.

Parameter: Schlüsselwert

返回值:成功返回true,失败false

范例:

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

31,close

描述:释放资源

<?php
$redis = new redis();
$redis->connect(&#39;127.0.0.1&#39;, 6379);
$redis->close()
?>
Nach dem Login kopieren

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWas sind die gängigen 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