253 PHPstudy安装redis扩展并启动redis及操作

严重的去参考这一篇 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) }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值