我使用php和laravel作为我的web服务.

I want to know does laravel store and process requests in these situation?

  1. requests to different controllers from many users;
  2. 来自同一用户对同一控制器的请求.

Is the laravel store these requests in a queue by the sequence the requests reached?

Is laravel parallel process requests for different users, and in sequence for the same user?

例如,用户有两个请求.这两个请求路由到同一控制器中的两个方法.第一个请求将花费很长的时间用于服务器端处理,而第二个请求将花费很少的时间.当用户先建立第一个请求,再建立第二个请求时,虽然第二个请求花费的时间很短,但服务器端不会处理第二个请求,直到它处理完第一个请求.

所以我想知道laravel是如何存储和处理请求的?

推荐答案

Laravel不直接处理请求,这是由Web服务器和PHP管理的.Laravel会收到Web服务器已经处理过的请求,因为它只是一个用PHP编写的工具,用于处理与请求调用相关的数据.因此,只要您的Web服务器知道如何执行PHP并调用适当的索引.php文件,Laravel将被 bootstrap 并处理它从Web服务器收到的请求数据.

因此,如果您的Web服务器能够接收2个不同的调用(通常是数百个),它将try 实例化2个PHP(子)进程,并且您的内存中应该有2个并行运行的Laravel实例.

So if you have code which depend on anther code, which may take too long to execute depending on many other factors, you'll have to deal with that yourself, in your Laravel app.

我们通常所做的只是将数据添加到数据库中,然后从对数据存储中已有的数据进行的计算中返回结果.因此,无论数据到达数据存储区的顺序如何,哪个先进入都无关紧要,最终结果总是相同的.如果你不能依靠这种方法,你就必须准备好你的应用程序来处理它.

enter image description here

Laravel相关问答推荐

警告:构建Reaction App(VITE)后无法解码下载的字体警告

子目录中具有Vue实例的Laravel不起作用

如何使用 Laravel 进行继承

为什么我的 Laravel 开发服务器不提供 public 文件夹下的文件?

运行Docker时,安装PHP8.1时返回错误

在 Laravel 包中的路由上使用显式或隐式模型绑定

如何使用 Laravel 查询生成器在 WHERE 条件周围添加括号

使用命令行界面停止 laravel 服务器

在 laravel 中动态更改时区

如何在 laravel 中安装 PHPExcel 库?

Laravel 5.5 在迁移文件中设置整数字段的大小

如何在 Laravel 中为模型命名,以免与现有类发生冲突?

未定义的类常量App\Providers\RouteServiceProvider::HOME

PHP Laravel:如何获取客户端浏览器/设备?

如何从 Laravel 中的资源中获取图像?

你如何在 Laravel 中的每个响应上强制一个 JSON 响应?

使用哪个 Auth::check() 或 Auth::user() - Laravel 5.1?

在 laravel Passport 客户端应用程序中使用访问令牌获取用户数据

Laravel 5.2 验证错误未出现在Blade中

Laravel 如何在 Eloquent 模型中添加自定义函数?