严重的去参考这一篇 https://blog.csdn.net/weixin_44320900/article/details/89598113
以下参考公众号:https://mp.weixin.qq.com/s/NqO-2rkRpa88wN-rGuchWw
操作:
1、连接redis
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//检测是否连接成功
echo "Server is running: " . $redis->ping();
// 输出结果 Server is running: 1
2、redis 操作 Strng (字符串):
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
$redis->set('cat',111);
echo $redis->get('cat');
echo '<br />';
$redis->set('cat',222);
echo $redis->get('cat');
3、redis 操作 List (列表):
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
$redis->del('list');
//存储数据到列表中
$redis->lpush('list','html');
$redis->lpush('list','css');
$redis->lpush('list','php');
//获取列表中所有的值
$list = $redis->lrange('list',0,-1);
var_dump($list);echo '<br />';
//array(3) { [0]=> string(3) "php" [1]=> string(3) "css" [2]=> string(4) "html" }
//从右侧加入一个
$redis->rpush('list','mysql');
$list = $redis->lrange('list',0,-1);
var_dump($list);echo '<br />';
//array(4) { [0]=> string(3) "php" [1]=> string(3) "css" [2]=> string(4) "html" [3]=> string(5) "mysql" }
//从左侧弹出一个
$redis->lpop('list');
$list = $redis->lrange('list',0,-1);
var_dump($list);echo '<br />';
//array(3) { [0]=> string(3) "css" [1]=> string(4) "html" [2]=> string(5) "mysql" }
//从右侧弹出一个
$redis->rpop('list');
$list = $redis->lrange('list',0,-1);
var_dump($list);echo '<br />';
//array(2) { [0]=> string(3) "css" [1]=> string(4) "html" }
4、redis 操作 Hash (字典):
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//集合
// 添加一个元素
$redis->del('set');echo '<br>';
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>';
//删除集合中的value
echo $redis->srem('set','cat');echo '<br />';//1
var_dump($redis->srem('set','bird'));echo '<br />';//int(0)
$set = $redis->smembers('set');
var_dump($set);echo '<br />';
//array(4) { [0]=> string(4) "bear" [1]=> string(3) "dog" [2]=> string(5) "horse" [3]=> string(6) "rabbit" }
//判断元素是否是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 />';//dog 果然很随机
var_dump($redis->smembers('set'));echo '<br />';//array(3) { [0]=> string(5) "horse" [1]=> string(6) "rabbit" [2]=> string(4) "bear" }
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
$redis->del('set');echo '<br>';
$redis->del('set2');echo '<br>';
//集合
$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');
var_dump($redis->smembers('set'));echo '<br />';
//array(4) { [0]=> string(3) "cat" [1]=> string(4) "bird" [2]=> string(3) "dog" [3]=> string(5) "horse" }
var_dump($redis->smembers('set2'));echo '<br />';
//array(3) { [0]=> string(4) "bird" [1]=> string(4) "fish" [2]=> string(3) "dog" }
var_dump($redis->sinter('set','set2'));echo '<br />';
//array(2) { [0]=> string(4) "bird" [1]=> string(3) "dog" }
//返回集合的交集
var_dump($redis->sinterstore('output','set','set2'));echo '<br />';//int(2)
//执行交集操作 并结果放到一个集合中
var_dump($redis->smembers('output'));echo '<br />';
//array(2) { [0]=> string(4) "bird" [1]=> string(3) "dog" }
var_dump($redis->sunion('set','set2'));echo '<br />';
//array(5) { [0]=> string(5) "horse" [1]=> string(3) "dog" [2]=> string(4) "fish" [3]=> string(3) "cat" [4]=> string(4) "bird" }
//返回集合的并集
var_dump($redis->sunionstore('output','set','set2'));echo '<br />';//int(5)
//执行并集操作 并结果放到一个集合中
var_dump($redis->smembers('output'));echo '<br />';
//array(5) { [0]=> string(5) "horse" [1]=> string(3) "dog" [2]=> string(4) "fish" [3]=> string(3) "cat" [4]=> string(4) "bird" }
返回集合的差集
var_dump($redis->sdiff('set','set2'));echo '<br />';//array(2) { [0]=> string(3) "cat" [1]=> string(5) "horse" }
执行差集操作 并结果放到一个集合中
var_dump($redis->sdiffstore('output','set','set2'));echo '<br />';//int(2)
var_dump($redis->smembers('output'));echo '<br />';//array(2) { [0]=> string(3) "cat" [1]=> string(5) "horse" }
5、redis 操作 Sorted Set (有序集合):
<?php
//实例化redis
$redis = new Redis();
//连接
$redis->connect('127.0.0.1', 6379);
$redis->del('zset');echo '<br>';
//有序集合
echo $redis->zadd('zset',1,'cat');echo '<br />';
echo $redis->zadd('zset',2,'dog');echo '<br />';
echo $redis->zadd('zset',3,'fish');echo '<br />';
echo $redis->zadd('zset',4,'dog');echo '<br />';
echo $redis->zadd('zset',4,'bird');echo '<br />';
//返回集合中的所有元素
var_dump($redis->zrange('zset',0,-1));echo '<br />';
//索引数组 array(4) { [0]=> string(3) "cat" [1]=> string(4) "fish" [2]=> string(4) "bird" [3]=> string(3) "dog" }
var_dump($redis->zrange('zset',0,-1,true));echo '<br />';
//关联数组 array(4) { ["cat"]=> float(1) ["fish"]=> float(3) ["bird"]=> float(4) ["dog"]=> float(4) }
//返回元素的score值
echo $redis->zscore('zset','dog');echo '<br>';//4
返回存储的个数
echo $redis->zcard('zset');echo '<br>';//4
//删除指定成员
$redis->zrem('zset','cat');
var_dump($redis->zrange('zset',0,-1));echo '<br />';
//array(3) { [0]=> string(4) "fish" [1]=> string(4) "bird" [2]=> string(3) "dog" }
var_dump($redis->zcount('zset',3,5));echo '<br />';//int(3)
var_dump($redis->zrangebyscore('zset',3,5));echo '<br />';
//array(3) { [0]=> string(4) "fish" [1]=> string(4) "bird" [2]=> string(3) "dog" }
var_dump($redis->zrangebyscore('zset',3,5,['withscores'=>true]));echo '<br />';
//array(3) { ["fish"]=> float(3) ["bird"]=> float(4) ["dog"]=> float(4) }
//返回集合中指定区间内所有的值 倒叙
var_dump($redis->zrevrange('zset',1,2));echo '<br />';
//array(2) { [0]=> string(4) "bird" [1]=> string(4) "fish" }
var_dump($redis->zrevrange('zset',1,2,true));echo '<br />';
//array(2) { ["bird"]=> float(4) ["fish"]=> float(3) }
//有序集合中指定值的socre增加
echo $redis->zscore('zset','dog');echo '<br />';//4
$redis->zincrby('zset',2,'dog');
echo $redis->zscore('zset','dog');echo '<br />';//6
//移除score值介于min和max之间的元素
var_dump($redis->zrange('zset',0,-1,true));echo '<br />';//array(3) { ["fish"]=> float(3) ["bird"]=> float(4) ["dog"]=> float(6) }
var_dump($redis->zRemRangeByScore('zset',3,4));echo '<br />';//int(2)
var_dump($redis->zrange('zset',0,-1,true));echo '<br />';//array(1) { ["dog"]=> float(6) }