所属分类:php教程
在laravel中,队列可以用于允许在表的前端进行删除操作,而在表的后端进行插入操作;队列是一种操作受限制的线性表,进行插入操作的称为队尾,删除操作的端被称为队头,队列可以将耗时任务的处理往后推延,能够提升web请求的响应速度。
Laravel 9 保姆级视频教程,想学不会都难!进入学习
本文操作环境:Windows10系统、Laravel9版、Dell G3电脑。
队列是一种操作受限制的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。
通过队列,你可以将耗时任务 (如发送电子邮件) 的处理往后推延。延迟这些耗时的任务可以极大地提升 web 请求响应速度。
实现队列有多种方式,Laravel也支持多种队列实现驱动,比如数据库、Redis、Beanstalkd、IronMQ及Amazon SQS等,此外还支持同步方式实现队列(默认),甚至将队列驱动设置为null表示不使用队列。Laravel为这些队列驱动提供了统一的接口,从而方便我们任意切换驱动而不需要改变业务逻辑编码,提供代码复用性。
其实说白了,就是把任务的键名和键值储存起来而已,储存的媒介用什么都可以,而所谓的队列驱动,就是把储存在这些媒介中的任务代码拿出来按照队列的算法进行执行的一种调配方式的一段代码而已。
优点
解耦:消息队列可以对系统进行解耦,提高响应速度,系统功能向内聚合,对外开放;
异步:消息队列可以对系统异步功能进行剥离,减少功能耦合,提供开发效率;
削峰:消息队列可以削峰限流,确保下游消费者稳定运行;
配置
从配置文件开始,首先我们需要在配置文件中配置默认队列驱动为Redis,队列配置文件是config/queue.php。
connections配置项:包含了Laravel支持的所有队列驱动。
failed配置项:用于配置失败队列任务存放的数据库及数据表。这里我们需要按照自己的数据库配置对其做相应修改。
说明:该配置文件第一个配置项default用于指定默认的队列驱动,这里可以更改为我们选用的其他队列驱动(实际上是修改.env中的QUEUE_DRIVER)
如下图:
【相关推荐:laravel视频教程】
以上就是laravel队列能做什么的详细内容,更多请关注zzsucai.com其它相关文章!