目录
redis 的基本操作方法
1 redis 的连接 :
2 redis 操作 Strng (字符串):
3 redis 操作 List (列表):
4 redis 操作 Hash (字典):
5 redis 操作 Set (集合):
6 redis 操作 Sorted Set (有序集合):
首页 后端开发 php教程 使用PHP要如何操作Redis?基本操作方法介绍

使用PHP要如何操作Redis?基本操作方法介绍

Jul 15, 2021 am 10:59 AM
php php 开发 redis

使用PHP要如何操作Redis?下面本篇文章给大家分享一些PHP操作Redis的基本方法,例如redis连接、操作Strng、List、Hash、Set等等,希望对大家有所帮助。

使用PHP要如何操作Redis?基本操作方法介绍

【相关推荐:Redis视频教程PHP视频教程

最近系统性的研究了下 redis,准备些一篇 redis 使用常遇到的问题;包括:

redis 的基本操作方法

1 redis 的连接 :

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

2 redis 操作 Strng (字符串):

// 设置一个字符串的值
$redis->set('cat', 111);

//获取一个字符串的值
echo $redis->get('cat'); // 111

// 重复set
$redis->set('cat', 222);
echo $redis->get('cat'); // 222
登录后复制

3 redis 操作 List (列表):

//存储数据到列表中
$redis->lpush('list', 'html');
$redis->lpush('list', 'css');
$redis->lpush('list', 'php');

//获取列表中所有的值
$list = $redis->lrange('list', 0, -1);
print_r($list);echo '<br>'; 
// Array ( [0] => php [1] => css [2] => html )

//从右侧加入一个
$redis->rpush('list', 'mysql');
$list = $redis->lrange('list', 0, -1);
print_r($list);echo '<br>';
// Array ( [0] => php [1] => css [2] => html [3] => mysql )

//从左侧弹出一个
$redis->lpop('list');
$list = $redis->lrange('list', 0, -1);
print_r($list);echo '<br>';
// Array ( [0] => css [1] => html [2] => mysql )

//从右侧弹出一个
$redis->rpop('list');
$list = $redis->lrange('list', 0, -1);
print_r($list);echo '<br>';
// Array ( [0] => css [1] => html )
登录后复制

4 redis 操作 Hash (字典):

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//字典
//给hash表中某个key设置value
//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
echo $redis->hset('hash', 'cat', 'cat');echo '<br>';   // 1
echo $redis->hset('hash', 'cat', 'cat');echo '<br>';   // 0
echo $redis->hset('hash', 'cat', 'cat1');echo '<br>';   // 0
echo $redis->hset('hash', 'dog', 'dog');echo '<br>';   // 1
echo $redis->hset('hash', 'bird', 'bird');echo '<br>';   // 1
echo $redis->hset('hash', 'monkey', 'monkey');echo '<br>';   // 1
//获取hash中某个key的值
echo $redis->hget('hash', 'cat');echo '<br>';  // cat1

//获取hash中所有的keys
$arr = $redis->hkeys('hash');
print_r($arr);echo '<br>';
// Array ( [0] => cat [1] => dog [2] => bird [3] => monkey )

//获取hash中所有的值 顺序是随机的
$arr = $redis->hvals('hash');
print_r($arr);echo '<br>';
 // Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey )

//获取一个hash中所有的key和value 顺序是随机的
$arr = $redis->hgetall('hash');
print_r($arr);echo '<br>';
 // Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey )

//获取hash中key的数量
echo $redis->hlen('hash');echo '<br>';
 // 4

//删除hash中一个key 如果表不存在或key不存在则返回false
echo $redis->hdel('hash', 'dog');echo '<br>';
var_dump($redis->hdel('hash', 'rabbit'));echo '<br>';
// 1
// int(0)
登录后复制

5 redis 操作 Set (集合):

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//集合
// 添加一个元素
echo $redis->sadd('set', 'cat');echo '<br>';         // 1
echo $redis->sadd('set', 'cat');echo '<br>';         // 0
echo $redis->sadd('set', 'dog');echo '<br>';        // 1
echo $redis->sadd('set', 'rabbit');echo '<br>';     // 1
echo $redis->sadd('set', 'bear');echo '<br>';      // 1
echo $redis->sadd('set', 'horse');echo '<br>';    // 1

// 查看集合中所有的元素
$set = $redis->smembers('set');
print_r($set);echo '<br>';
// Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse )

//删除集合中的value
echo $redis->srem('set', 'cat');echo '<br>';    // 1
var_dump($redis->srem('set', 'bird'));echo '<br>';     // int(0)

$set = $redis->smembers('set');
print_r($set);echo '<br>';
// Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear )

//判断元素是否是set的成员
var_dump($redis->sismember('set', 'dog'));echo '<br>';     // bool(true)
var_dump($redis->sismember('set', 'bird'));echo '<br>';    // bool(false)

//查看集合中成员的数量
echo $redis->scard('set');echo '<br>';    // 4

//移除并返回集合中的一个随机元素(返回被移除的元素)
echo $redis->spop('set');echo '<br>';  // bear

print_r($redis->smembers('set'));echo '<br>';   
 // Array ( [0] => dog [1] => rabbit [2] => horse )

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//集合
$redis->sadd('set', 'horse');
$redis->sadd('set', 'cat');
$redis->sadd('set', 'dog');
$redis->sadd('set', 'bird');
$redis->sadd('set2', 'fish');
$redis->sadd('set2', 'dog');
$redis->sadd('set2', 'bird');

print_r($redis->smembers('set'));echo '<br>';
 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse )
print_r($redis->smembers('set2'));echo '<br>';
// Array ( [0] => bird [1] => dog [2] => fish )

//返回集合的交集
print_r($redis->sinter('set', 'set2'));echo '<br>';
// Array ( [0] => dog [1] => bird )

//执行交集操作 并结果放到一个集合中
$redis->sinterstore('output', 'set', 'set2');
print_r($redis->smembers('output'));echo '<br>';
// Array ( [0] => dog [1] => bird )

//返回集合的并集
print_r($redis->sunion('set', 'set2'));echo '<br>';
// Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )

//执行并集操作 并结果放到一个集合中
$redis->sunionstore('output', 'set', 'set2');
print_r($redis->smembers('output'));echo '<br>';
 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )

//返回集合的差集
print_r($redis->sdiff('set', 'set2'));echo '<br>';
// Array ( [0] => horse [1] => cat )

//执行差集操作 并结果放到一个集合中
$redis->sdiffstore('output', 'set', 'set2');
print_r($redis->smembers('output'));echo '<br>';
// Array ( [0] => horse [1] => cat )
登录后复制

6 redis 操作 Sorted Set (有序集合):

<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//有序集合
//添加元素 分数
echo $redis->zadd('set', 1, 'cat');echo '<br>';      // 1
echo $redis->zadd('set', 2, 'dog');echo '<br>';    // 1
echo $redis->zadd('set', 3, 'fish');echo '<br>';    // 1
echo $redis->zadd('set', 4, 'dog');echo '<br>';    // 0
echo $redis->zadd('set', 4, 'bird');echo '<br>';    // 1

//返回集合中的所有元素
print_r($redis->zrange('set', 0, -1));echo '<br>';
// Array ( [0] => cat [1] => fish [2] => bird [3] => dog )

print_r($redis->zrange('set', 0, -1, true));echo '<br>';
// Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 )

//返回元素的score值
echo $redis->zscore('set', 'dog');echo '<br>';
// 4

//返回存储的个数
echo $redis->zcard('set');echo '<br>';
// 4

//删除指定成员
$redis->zrem('set', 'cat');
print_r($redis->zrange('set', 0, -1));echo '<br>';
// Array ( [0] => fish [1] => bird [2] => dog )

//返回集合中介于min和max之间的值的个数
print_r($redis->zcount('set', 3, 5));echo '<br>';
// 3

//返回有序集合中score介于min和max之间的值
print_r($redis->zrangebyscore('set', 3, 5));echo '<br>';
 // Array ( [0] => fish [1] => bird [2] => dog )
print_r($redis->zrangebyscore('set', 3, 5, ['withscores'=>true]));echo '<br>';
 // Array ( [fish] => 3 [bird] => 4 [dog] => 4 )

//返回集合中指定区间内所有的值 倒叙
print_r($redis->zrevrange('set', 1, 2));echo '<br>';
 // Array ( [0] => bird [1] => fish )
print_r($redis->zrevrange('set', 1, 2, true));echo '<br>';
// Array ( [bird] => 4 [fish] => 3 )

//有序集合中指定值的socre增加
echo $redis->zscore('set', 'dog');echo '<br>';
 // 4
$redis->zincrby('set', 2, 'dog');
echo $redis->zscore('set', 'dog');echo '<br>';
// 6

//移除score值介于min和max之间的元素
print_r($redis->zrange('set', 0, -1, true));echo '<br>';
// Array ( [fish] => 3 [bird] => 4 [dog] => 6 )
print_r($redis->zremrangebyscore('set', 3, 4));echo '<br>';
 // 2
print_r($redis->zrange('set', 0, -1, true));echo '<br>';
 // Array ( [dog] => 6 )
//结果
登录后复制

更多编程相关知识,请访问:编程视频!!

以上是使用PHP要如何操作Redis?基本操作方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

redis集群模式怎么搭建 redis集群模式怎么搭建 Apr 10, 2025 pm 10:15 PM

Redis集群模式通过分片将Redis实例部署到多个服务器,提高可扩展性和可用性。搭建步骤如下:创建奇数个Redis实例,端口不同;创建3个sentinel实例,监控Redis实例并进行故障转移;配置sentinel配置文件,添加监控Redis实例信息和故障转移设置;配置Redis实例配置文件,启用集群模式并指定集群信息文件路径;创建nodes.conf文件,包含各Redis实例的信息;启动集群,执行create命令创建集群并指定副本数量;登录集群执行CLUSTER INFO命令验证集群状态;使

PHP的未来:改编和创新 PHP的未来:改编和创新 Apr 11, 2025 am 12:01 AM

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

redis数据怎么清空 redis数据怎么清空 Apr 10, 2025 pm 10:06 PM

如何清空 Redis 数据:使用 FLUSHALL 命令清除所有键值。使用 FLUSHDB 命令清除当前选定数据库的键值。使用 SELECT 切换数据库,再使用 FLUSHDB 清除多个数据库。使用 DEL 命令删除特定键。使用 redis-cli 工具清空数据。

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP与Python:了解差异 PHP与Python:了解差异 Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP的当前状态:查看网络开发趋势 PHP的当前状态:查看网络开发趋势 Apr 13, 2025 am 12:20 AM

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

redis怎么读取队列 redis怎么读取队列 Apr 10, 2025 pm 10:12 PM

要从 Redis 读取队列,需要获取队列名称、使用 LPOP 命令读取元素,并处理空队列。具体步骤如下:获取队列名称:以 "queue:" 前缀命名,如 "queue:my-queue"。使用 LPOP 命令:从队列头部弹出元素并返回其值,如 LPOP queue:my-queue。处理空队列:如果队列为空,LPOP 返回 nil,可先检查队列是否存在再读取元素。

PHP:许多网站的基础 PHP:许多网站的基础 Apr 13, 2025 am 12:07 AM

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

See all articles