Home Backend Development PHP Problem What are the common methods for operating redis in PHP?

What are the common methods for operating redis in PHP?

Jul 15, 2021 am 11:11 AM
php redis

php redis methods: connect(), set(), get(), delete(), setnx(), exists(), incr(), decr(), getMultiple(), lpush() , rpush(), lpop(), lget(), etc.

What are the common methods for operating redis in PHP?

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

php Common methods for operating redis

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

2,set

Description: Set the value of key and value

Parameter: Key Value

Return value: BOOL Success 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 the value related to the specified key

Parameters: key

Return value: string or BOOL Returns FALSE if the key does not exist. 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 storage 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: The key value is stored in numerical decrement.

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

Example:

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

10, lpush

Description: By the head of the list Add string value. 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 on success, on failure Return 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");
$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

18, sadd

Description: Add a value to a Key. If this value is already in this Key, return FALSE.

Parameter: 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 What are the common methods for operating redis in PHP?. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP's Current Status: A Look at Web Development Trends PHP's Current Status: A Look at Web Development Trends Apr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP's Purpose: Building Dynamic Websites PHP's Purpose: Building Dynamic Websites Apr 15, 2025 am 12:18 AM

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

See all articles