php使用redis实现消息队列实例

PHP开发实例 2022年11月21日 811

项目中使用消息队列的地方很多,一般小型项目我们想用用队列,就不需要搭建专门的队列服务器了,我们直接使用redis即可,基本能实现我们的需求。

项目中使用消息队列的地方

1、缓解服务器压力,将请求换成异步。
2、日志收集
3、文章列表(不同地方的文章,排序分页使用,这个就不需要消费了)
4、秒杀

等等,都可以使用消息队列

消息队列实现的步骤

1)redis函数rpush,lpop

2)建议定时任务入队列

3)创建定时任务出队列

入队列 demo.php

<?php

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$password = '123456';

$redis->auth($password);

$arr = array('h','e','l','l','o','w','o','r','l','d');

foreach($arr as $k=>$v){

$redis->rpush("mylist",$v);

}

定时出队列 index.php

<?php

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$password = '123456';

$redis->auth($password);

//list类型出队操作

$value = $redis->lpop('mylist');

if($value){

echo "出队的值".$value;

}else{

echo "出队完成";

}

?>

建立定时任务

*/1 * * * * php /wwwroot/redis/index.php

*/3 * * * * php /wwwroot/redis/demo.php

tail -f /var/log/cron 查看定时任务执行情况

查看队列的结果

可以使用命令查看队列里数据的情况

lrange mylist 0 -1

通过这个命令我们可以做一个可视化的,展示前三百队列的情况,做到实时观察队列数据,如下图所示。


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网