Home > Backend Development > PHP Tutorial > Understand several common methods for operating redis in PHP

Understand several common methods for operating redis in PHP

青灯夜游
Release: 2023-04-09 08:40:01
forward
1864 people have browsed it

This article will share with you some common methods for operating redis in PHP. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

Understand several common methods for operating redis in PHP

1, connect

Description: The instance is connected to a Redis.

Parameters: host : string, port: int

Return value: BOOL Successful return: TRUE; Failure return: FALSE

Example:

<?php
$redis = new redis();
$result = $redis->connect(&#39;127.0.0.1&#39;, 6379);
var_dump($result); //结果:bool(true)
?>
Copy after login

Value operation:

2, set

Description: Set the value of key and value

Parameter: Key Value

Return value: BOOL Successful return: TRUE; Failure return: FALSE

Example:

<?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)
?>
Copy after login

3, get

Description: Get information about the specified key Value

Parameter: key

Return value: string or BOOL If the key does not exist, it returns FALSE. Otherwise, return the value corresponding to the specified key.

Example:

<?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"
?>
Copy after login

4,delete

Description: Delete the specified key

Parameters: a key, or undefined Number of parameters, array for each key: key1 key2 key3 ... keyN

Return value: Number of items deleted

Example:

<?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)
?>
Copy after login

5,setnx

Description: If it does not exist, set it. If it exists, do not change it.

Parameter: key value

Return value: BOOL Successful return: TRUE; Failure Return: FALSE

Example:

<?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
?>
Copy after login

6, exists

Description: Verify whether the specified key exists

Parameter key

Return value: Bool Successful return: TRUE; Failure return: FALSE

Example:

<?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)
?>
Copy after login

7, incr

Description: Numeric increment stores key value key.

Parameters: key value: The value that will be added to the key

Return value: INT the new value

Example:

<?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)
?>
Copy after login

8, decr

Description: Store the key value numerically in descending order.

Parameters: key value: the value that will be added to the key

Return value: INT the new value

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)
?>
Copy after login

9 , getMultiple

Description: Get the values ​​of all specified keys. If one or more keys do not exist, the value of the key in the array is false, [the collection cannot be operated, otherwise it is false]

Parameters: a list array containing the key values

Return value: Returns an array containing the values ​​of all keys

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 )
?>
Copy after login

List operation:

10. lpush

Description: Add a string value from the head of the list. Create the list if the key does not exist. If the key exists and is not a list, return FALSE.

Parameters: key, value

Return value: Return the array length on success, false on failure

Instance:

<?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)
?>
Copy after login

11, rpush

Description: Add a string value from the end of the list. Create the list if the key does not exist. If the key exists and is not a list, return FALSE.

Parameters: key, value

Return value: Return the array length on success, false on failure

Example:

<?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)
?>
Copy after login

12,lpop

Description: Returns and removes the first element of the list

Parameters: key

Return value: Returns the value of the first element successfully, returns false# on failure

##Example:

<?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"
?>
Copy after login

13,lsize,llen

Description: The length of the returned list. If the list does not exist or is empty, the command returns 0. If the key is not a list, this command returns FALSE.

Parameters: Key

Return value: Return the array length on success, false on failure

Example:

<?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)
?>
Copy after login

14, lget

Description: Returns the element with the specified key stored at the specified index in the list. 0 first element, 1 second... -1 last element, -2 second last... Returns FALSE if the wrong index or key does not point to the list.

Parameters: key index

Return value: Return the value of the specified element if successful, false if failed

Example:

<?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"
?>
Copy after login

15,lset

Description: Assign a new value to the index specified in the list. If the index does not exist, return false.

Parameter: key index value

Return value: Return successfully true, failed false

Example:

<?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"
?>
Copy after login

16, lgetrange

Description:

Returns the specified key in the range Specified elements stored from start to end in the list [can print the entire list], lGetRange(key, start, end). 0 the first element, 1 the second element... -1 the last element, -2 the penultimate element...

Parameters: key start end

Return value: Successfully returns the value found , failed false

Example:

<?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 )
?>
Copy after login

17,lremove

Description: Remove count matching values ​​from the list starting from the head. If count is zero, all matching elements are removed. If count is negative, the content is deleted from the end.

Parameter: key count value

Return value: Return the number of deleted items if successful, false if failed

Example:

<?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 )
?>
Copy after login

Collection operation:

18, sadd

描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。

参数:key value

返回值:成功返回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 )
?>
Copy after login

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 )
?>
Copy after login

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 )
?>
Copy after login

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)
?>
Copy after login

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
?>
Copy after login

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"
?>
Copy after login

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" }
?>
Copy after login

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" }
?>
Copy after login

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 )
?>
Copy after login

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 )
?>
Copy after login

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 )
?>
Copy after login

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 )
?>
Copy after login

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 )
?>
Copy after login

31,close

描述:释放资源

<?php
$redis = new redis();
$redis->connect(&#39;127.0.0.1&#39;, 6379);
$redis->close()
?>
Copy after login

相关推荐:PHP教程

The above is the detailed content of Understand several common methods for operating redis in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template