登录  /  注册

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

青灯夜游
发布: 2021-07-15 10:59:20
转载
4838人浏览过

使用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] =&gt; php [1] =&gt; css [2] =&gt; html )

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

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

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

4 redis 操作 Hash (字典):

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

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

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

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

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

//删除hash中一个key 如果表不存在或key不存在则返回false
echo $redis-&gt;hdel('hash', 'dog');echo '<br>';
var_dump($redis-&gt;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-&gt;sadd('set', 'cat');echo '<br>';         // 1
echo $redis-&gt;sadd('set', 'cat');echo '<br>';         // 0
echo $redis-&gt;sadd('set', 'dog');echo '<br>';        // 1
echo $redis-&gt;sadd('set', 'rabbit');echo '<br>';     // 1
echo $redis-&gt;sadd('set', 'bear');echo '<br>';      // 1
echo $redis-&gt;sadd('set', 'horse');echo '<br>';    // 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:知乎网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号