老雷php教程之消息队列

老雷PHP全栈开发

共 432字,需浏览 1分钟

 ·

2020-12-30 08:09

老雷PHP教程之消息队列


一、什么是消息队列?

    队列就跟排队一样,先排的人先办事。先进先出,在程序上是默认左进右出

二、队列的作用

    在处理一些比较耗时的任务并且不需要实时处理时,我们会将任务安排到队列中然后异步执行。 

    比如发送邮件通知、发送订单通知、图片处理、视频处理等。

三、队列的实现方式

    只要理解队列的实现方式,我们可以用多种方式去实现队列。但是对于队列任务的可靠性,我们需要使用一些更专业的消息队列。

    比如:RocketMQ,Kafka等。

    我们如果需求简单,我们可以使用文件存储、mysql、redis都可以实现。

    

四、队列原理

 //先进先出class queue{    public $list=[];    //左添加    public function lpush($v){        array_unshift($this->list,$v);    }    //右取出    public function rpop(){        $val=array_pop($this->list);    return $val;    }    //右插队    public function rpush($v){        $this->list[]=$v;    }    //获取队列    public function getList(){        return $this->list;    }}$que=new queue();$que->lpush("第一个");$que->lpush("第二个");$que->lpush("第三个");print_r($que->list);echo "
"
;
echo "获取第一个:".$que->rpop();echo "
"
;
$que->rpush("插队的人");echo "获取插队:".$que->rpop();echo "
"
;
echo $que->rpop();echo "
"
;
echo $que->rpop(); ?>

课后作业:

    使用mysql实现队列


浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报