Home Backend Development PHP Tutorial Basic methods of operating Redis with PHP

Basic methods of operating Redis with PHP

Jul 15, 2019 pm 03:11 PM
php redis

Basic operation method of redis

1 redis connection:

 //实例化redis
$redis = new Redis();
//连接
 $redis->connect('127.0.0.1', 6379);
//检测是否连接成功
echo "Server is running: " . $redis->ping();
// 输出结果 Server is running: +PONG
Copy after login

2 redis operation Strng (Character String):

// 设置一个字符串的值
$redis->set('cat', 111);
//获取一个字符串的值
echo $redis->get('cat'); // 111
// 重复set
$redis->set('cat', 222);
echo $redis->get('cat'); // 222
Copy after login

3 redis operation List (list):

  //存储数据到列表中
$redis->lpush('list', 'html');
$redis->lpush('list', 'css');
$redis->lpush('list', 'php');
//获取列表中所有的值
$list = $redis->lrange('list', 0, -1);
print_r($list);echo &#39;<br>&#39;; 
// Array ( [0] => php [1] => css [2] => html )
//从右侧加入一个
$redis->rpush(&#39;list&#39;, &#39;mysql&#39;);
$list = $redis->lrange(&#39;list&#39;, 0, -1);
print_r($list);echo &#39;<br>&#39;;
// Array ( [0] => php [1] => css [2] => html [3] => mysql )
//从左侧弹出一个
$redis->lpop(&#39;list&#39;);
$list = $redis->lrange(&#39;list&#39;, 0, -1);
print_r($list);echo &#39;<br>&#39;;
// Array ( [0] => css [1] => html [2] => mysql )
//从右侧弹出一个
$redis->rpop(&#39;list&#39;);
$list = $redis->lrange(&#39;list&#39;, 0, -1);
print_r($list);echo &#39;<br>&#39;;
// Array ( [0] => css [1] => html )
Copy after login

4 redis operation Hash (dictionary):

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect(&#39;127.0.0.1&#39;, 6379);
//字典
//给hash表中某个key设置value
//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
echo $redis->hset(&#39;hash&#39;, &#39;cat&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;   // 1
echo $redis->hset(&#39;hash&#39;, &#39;cat&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;   // 0
echo $redis->hset(&#39;hash&#39;, &#39;cat&#39;, &#39;cat1&#39;);echo &#39;<br>&#39;;   // 0
echo $redis->hset(&#39;hash&#39;, &#39;dog&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;   // 1
echo $redis->hset(&#39;hash&#39;, &#39;bird&#39;, &#39;bird&#39;);echo &#39;<br>&#39;;   // 1
echo $redis->hset(&#39;hash&#39;, &#39;monkey&#39;, &#39;monkey&#39;);echo &#39;<br>&#39;;   // 1
//获取hash中某个key的值
echo $redis->hget(&#39;hash&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;  // cat1
//获取hash中所有的keys
$arr = $redis->hkeys(&#39;hash&#39;);
print_r($arr);echo &#39;<br>&#39;;
// Array ( [0] => cat [1] => dog [2] => bird [3] => monkey )
//获取hash中所有的值 顺序是随机的
$arr = $redis->hvals(&#39;hash&#39;);
print_r($arr);echo &#39;<br>&#39;;
 // Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey )
//获取一个hash中所有的key和value 顺序是随机的
$arr = $redis->hgetall(&#39;hash&#39;);
print_r($arr);echo &#39;<br>&#39;;
 // Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey )
//获取hash中key的数量
echo $redis->hlen(&#39;hash&#39;);echo &#39;<br>&#39;;
 // 4
//删除hash中一个key 如果表不存在或key不存在则返回false
echo $redis->hdel(&#39;hash&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;
var_dump($redis->hdel(&#39;hash&#39;, &#39;rabbit&#39;));echo &#39;<br>&#39;;
// 1
// int(0)
Copy after login

5 redis operation Set (set):

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect(&#39;127.0.0.1&#39;, 6379);
//集合
// 添加一个元素
echo $redis->sadd(&#39;set&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;         // 1
echo $redis->sadd(&#39;set&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;         // 0
echo $redis->sadd(&#39;set&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;        // 1
echo $redis->sadd(&#39;set&#39;, &#39;rabbit&#39;);echo &#39;<br>&#39;;     // 1
echo $redis->sadd(&#39;set&#39;, &#39;bear&#39;);echo &#39;<br>&#39;;      // 1
echo $redis->sadd(&#39;set&#39;, &#39;horse&#39;);echo &#39;<br>&#39;;    // 1
// 查看集合中所有的元素
$set = $redis->smembers(&#39;set&#39;);
print_r($set);echo &#39;<br>&#39;;
// Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse )
//删除集合中的value
echo $redis->srem(&#39;set&#39;, &#39;cat&#39;);echo &#39;<br>&#39;;    // 1
var_dump($redis->srem(&#39;set&#39;, &#39;bird&#39;));echo &#39;<br>&#39;;     // int(0)
$set = $redis->smembers(&#39;set&#39;);
print_r($set);echo &#39;<br>&#39;;
// Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear )
//判断元素是否是set的成员
var_dump($redis->sismember(&#39;set&#39;, &#39;dog&#39;));echo &#39;<br>&#39;;     // bool(true)
var_dump($redis->sismember(&#39;set&#39;, &#39;bird&#39;));echo &#39;<br>&#39;;    // bool(false)
//查看集合中成员的数量
echo $redis->scard(&#39;set&#39;);echo &#39;<br>&#39;;    // 4
//移除并返回集合中的一个随机元素(返回被移除的元素)
echo $redis->spop(&#39;set&#39;);echo &#39;<br>&#39;;  // bear
print_r($redis->smembers(&#39;set&#39;));echo &#39;<br>&#39;;   
 // Array ( [0] => dog [1] => rabbit [2] => horse )
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect(&#39;127.0.0.1&#39;, 6379);
//集合
$redis->sadd(&#39;set&#39;, &#39;horse&#39;);
$redis->sadd(&#39;set&#39;, &#39;cat&#39;);
$redis->sadd(&#39;set&#39;, &#39;dog&#39;);
$redis->sadd(&#39;set&#39;, &#39;bird&#39;);
$redis->sadd(&#39;set2&#39;, &#39;fish&#39;);
$redis->sadd(&#39;set2&#39;, &#39;dog&#39;);
$redis->sadd(&#39;set2&#39;, &#39;bird&#39;);
print_r($redis->smembers(&#39;set&#39;));echo &#39;<br>&#39;;
 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse )
print_r($redis->smembers(&#39;set2&#39;));echo &#39;<br>&#39;;
// Array ( [0] => bird [1] => dog [2] => fish )
//返回集合的交集
print_r($redis->sinter(&#39;set&#39;, &#39;set2&#39;));echo &#39;<br>&#39;;
// Array ( [0] => dog [1] => bird )
//执行交集操作 并结果放到一个集合中
$redis->sinterstore(&#39;output&#39;, &#39;set&#39;, &#39;set2&#39;);
print_r($redis->smembers(&#39;output&#39;));echo &#39;<br>&#39;;
// Array ( [0] => dog [1] => bird )
//返回集合的并集
print_r($redis->sunion(&#39;set&#39;, &#39;set2&#39;));echo &#39;<br>&#39;;
// Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
//执行并集操作 并结果放到一个集合中
$redis->sunionstore(&#39;output&#39;, &#39;set&#39;, &#39;set2&#39;);
print_r($redis->smembers(&#39;output&#39;));echo &#39;<br>&#39;;
 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
//返回集合的差集
print_r($redis->sdiff(&#39;set&#39;, &#39;set2&#39;));echo &#39;<br>&#39;;
// Array ( [0] => horse [1] => cat )
//执行差集操作 并结果放到一个集合中
$redis->sdiffstore(&#39;output&#39;, &#39;set&#39;, &#39;set2&#39;);
print_r($redis->smembers(&#39;output&#39;));echo &#39;<br>&#39;;
// Array ( [0] => horse [1] => cat )
Copy after login

6 redis operation Sorted Set (ordered set):

  <?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect(&#39;127.0.0.1&#39;, 6379);
//有序集合
//添加元素 分数
echo $redis->zadd(&#39;set&#39;, 1, &#39;cat&#39;);echo &#39;<br>&#39;;      // 1
echo $redis->zadd(&#39;set&#39;, 2, &#39;dog&#39;);echo &#39;<br>&#39;;    // 1
echo $redis->zadd(&#39;set&#39;, 3, &#39;fish&#39;);echo &#39;<br>&#39;;    // 1
echo $redis->zadd(&#39;set&#39;, 4, &#39;dog&#39;);echo &#39;<br>&#39;;    // 0
echo $redis->zadd(&#39;set&#39;, 4, &#39;bird&#39;);echo &#39;<br>&#39;;    // 1
//返回集合中的所有元素
print_r($redis->zrange(&#39;set&#39;, 0, -1));echo &#39;<br>&#39;;
// Array ( [0] => cat [1] => fish [2] => bird [3] => dog )
print_r($redis->zrange(&#39;set&#39;, 0, -1, true));echo &#39;<br>&#39;;
// Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 )
//返回元素的score值
echo $redis->zscore(&#39;set&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;
// 4
//返回存储的个数
echo $redis->zcard(&#39;set&#39;);echo &#39;<br>&#39;;
// 4
//删除指定成员
$redis->zrem(&#39;set&#39;, &#39;cat&#39;);
print_r($redis->zrange(&#39;set&#39;, 0, -1));echo &#39;<br>&#39;;
// Array ( [0] => fish [1] => bird [2] => dog )
//返回集合中介于min和max之间的值的个数
print_r($redis->zcount(&#39;set&#39;, 3, 5));echo &#39;<br>&#39;;
// 3
//返回有序集合中score介于min和max之间的值
print_r($redis->zrangebyscore(&#39;set&#39;, 3, 5));echo &#39;<br>&#39;;
 // Array ( [0] => fish [1] => bird [2] => dog )
print_r($redis->zrangebyscore(&#39;set&#39;, 3, 5, [&#39;withscores&#39;=>true]));echo &#39;<br>&#39;;
 // Array ( [fish] => 3 [bird] => 4 [dog] => 4 )
//返回集合中指定区间内所有的值 倒叙
print_r($redis->zrevrange(&#39;set&#39;, 1, 2));echo &#39;<br>&#39;;
 // Array ( [0] => bird [1] => fish )
print_r($redis->zrevrange(&#39;set&#39;, 1, 2, true));echo &#39;<br>&#39;;
// Array ( [bird] => 4 [fish] => 3 )
//有序集合中指定值的socre增加
echo $redis->zscore(&#39;set&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;
 // 4
$redis->zincrby(&#39;set&#39;, 2, &#39;dog&#39;);
echo $redis->zscore(&#39;set&#39;, &#39;dog&#39;);echo &#39;<br>&#39;;
// 6
//移除score值介于min和max之间的元素
print_r($redis->zrange(&#39;set&#39;, 0, -1, true));echo &#39;<br>&#39;;
// Array ( [fish] => 3 [bird] => 4 [dog] => 6 )
print_r($redis->zremrangebyscore(&#39;set&#39;, 3, 4));echo &#39;<br>&#39;;
 // 2
print_r($redis->zrange(&#39;set&#39;, 0, -1, true));echo &#39;<br>&#39;;
 // Array ( [dog] => 6 )
//结果
Copy after login

Related recommendations: "PHP Tutorial" "Redis Tutorial"

The above is the detailed content of Basic methods of operating Redis with 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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

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)

The Future of PHP: Adaptations and Innovations The Future of PHP: Adaptations and Innovations Apr 11, 2025 am 12:01 AM

The future of PHP will be achieved by adapting to new technology trends and introducing innovative features: 1) Adapting to cloud computing, containerization and microservice architectures, supporting Docker and Kubernetes; 2) introducing JIT compilers and enumeration types to improve performance and data processing efficiency; 3) Continuously optimize performance and promote best practices.

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

How to build the redis cluster mode How to build the redis cluster mode Apr 10, 2025 pm 10:15 PM

Redis cluster mode deploys Redis instances to multiple servers through sharding, improving scalability and availability. The construction steps are as follows: Create odd Redis instances with different ports; Create 3 sentinel instances, monitor Redis instances and failover; configure sentinel configuration files, add monitoring Redis instance information and failover settings; configure Redis instance configuration files, enable cluster mode and specify the cluster information file path; create nodes.conf file, containing information of each Redis instance; start the cluster, execute the create command to create a cluster and specify the number of replicas; log in to the cluster to execute the CLUSTER INFO command to verify the cluster status; make

PHP: Is It Dying or Simply Adapting? PHP: Is It Dying or Simply Adapting? Apr 11, 2025 am 12:13 AM

PHP is not dying, but constantly adapting and evolving. 1) PHP has undergone multiple version iterations since 1994 to adapt to new technology trends. 2) It is currently widely used in e-commerce, content management systems and other fields. 3) PHP8 introduces JIT compiler and other functions to improve performance and modernization. 4) Use OPcache and follow PSR-12 standards to optimize performance and code quality.

How to use the redis command How to use the redis command Apr 10, 2025 pm 08:45 PM

Using the Redis directive requires the following steps: Open the Redis client. Enter the command (verb key value). Provides the required parameters (varies from instruction to instruction). Press Enter to execute the command. Redis returns a response indicating the result of the operation (usually OK or -ERR).

How to start the server with redis How to start the server with redis Apr 10, 2025 pm 08:12 PM

The steps to start a Redis server include: Install Redis according to the operating system. Start the Redis service via redis-server (Linux/macOS) or redis-server.exe (Windows). Use the redis-cli ping (Linux/macOS) or redis-cli.exe ping (Windows) command to check the service status. Use a Redis client, such as redis-cli, Python, or Node.js, to access the server.

How to read the source code of redis How to read the source code of redis Apr 10, 2025 pm 08:27 PM

The best way to understand Redis source code is to go step by step: get familiar with the basics of Redis. Select a specific module or function as the starting point. Start with the entry point of the module or function and view the code line by line. View the code through the function call chain. Be familiar with the underlying data structures used by Redis. Identify the algorithm used by Redis.

How to clear redis data How to clear redis data Apr 10, 2025 pm 10:06 PM

How to clear Redis data: Use the FLUSHALL command to clear all key values. Use the FLUSHDB command to clear the key value of the currently selected database. Use SELECT to switch databases, and then use FLUSHDB to clear multiple databases. Use the DEL command to delete a specific key. Use the redis-cli tool to clear the data.

See all articles