加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Laravel性能优化有哪些技巧

发布时间:2023-12-29 08:38:08 所属栏目:PHP教程 来源:DaWei
导读: 今天小编跟大家讲解下有关“Laravel性能优化有哪些技巧,怎样做?”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

今天小编跟大家讲解下有关“Laravel性能优化有哪些技巧,怎样做?”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

这篇文章将介绍几个重要的技巧,每个步骤指导优化你的 Laravel 网站。虽然有些步骤可能听起来很有技术含量,但这些步骤很容易遵循并在你自己的屏幕上重新创建。

1. 路由缓存

Laravel 允许缓存路由。你可以执行 Artisan 命令:

php artisan route:cache登录后复制

所有的路由都会缓存在 routes.php 文件中。

下次需要路由时,将访问缓存而不是路由文件。这可以通过快速路由请求来提高站点性能。

要清除缓存,可以使用类似的命令:

php artisan route:clear登录后复制

路由缓存是一种可以让你的网站更流畅、加载更快的简单方法。

2. 有效的使用 Artisan 命令

Laravel 最好的特性之一是它的命令行工具 Artisan 。如果有效地使用它,可以提高应用程序的性能。

你可以缓存路由和配置。你可以执行下面的命令来缓存配置和路由:

php artisan config:cache

php artisan route:cache登录后复制

Note: Artisan Optimize 在 Laravel 5.5 中被移除,在之前的版本中可以工作。

php artisan optimize --force登录后复制

在添加新配置或新路由时,一定要记得清除缓存。可以使用下面的命令有效地清除缓存。

php artisan config:clear
php artisan route:cache
php artisan view:clear登录后复制

3. 配置缓存

Laravel 提供了一个非常有趣的命令:Artisan Cache Config,它对提升性能非常有帮助。命令的基本用法是:

php artisan config:cache登录后复制

缓存配置后,不会对你所做的更改产生任何影响。 如果你想刷新配置,只需再次运行上述命令。如果需要清除配置缓存,请使用以下命令:

php artisan config:clear登录后复制

4. 直接获取数据

当你在 Laravel 中执行任何查询时,Laravel会延迟执行该查询(懒加载),它仅在需要时获取数据。

在某些情况下,这种延迟加载行为会增加执行的查询数,同时会降低应用程序的性能。

让我们看一个简单的例子来详细了解这种行为。 如果你想获取图书馆中书籍的作者姓名。

使用延迟加载,你最终将执行 N+1 个查询来查找结果。 你可以从下面的代码示例中看到它。

$books = Book::all();
foreach ($books as $book) {
  echo $book->author->name;
  }登录后复制 登录后复制
在下面的代码中,每次执行 for 循环时,都会执行查询。 为了解决这个问题,Laravel 允许你直接加载数据。

这会增加你的查询执行时间并减少查询数量。 下面的代码示例展示了我们如何在一个查询中轻松加载完整列表。

$books = Book::with('author')->get();
foreach ($books as $book) {
  echo $book->author->name;
  }登录后复制 登录后复制
让我们看一个简单的例子来详细了解这种行为。
如果想获取图书馆中书籍的作者姓名。

如果不使用预先加载,最终将执行 N+1 个查询来查找结果。
你可以从下面的代码示例中看到它。

$books = Book::all();
foreach ($books as $book) {
  echo $book->author->name;
  }登录后复制 登录后复制
在下面的代码中,每次执行 for 循环时,都会执行一次查询。
为了解决这个问题,Laravel 允许预先加载关联数据。

这会增加的查询执行时间并减少查询次数。
下面的代码示例展示了我们如何在一个查询中轻松加载完整列表。

$books = Book::with('author')->get();
foreach ($books as $book) {
  echo $book->author->name;
  }登录后复制 登录后复制
  
5. Composer 优化

Laravel 使用一个名为 Composer 的包管理工具来管理不同的依赖项。 当你最初安装 Composer 时,默认情况下它会将开发依赖项加载到你的系统中。

这些依赖项对于开发网站很有用。 但是,一旦你的网站完全投入运营,就不再需要它们,事实上,它们只会减慢速度。

当使用 Composer 安装包时,使用 --no-dev 和 -o 参数来移除 dev 依赖:

composer install --prefer-dist --no-dev -o登录后复制 登录后复制

此命令允许 Composer 创建用于优化自动加载器和提高性能的目录。 它只是请求获取和打包官方发行版,没有开发依赖项。

注意不要消除任何运行时依赖项。 这可能会危及网站的性能,甚至导致其崩溃。

“Laravel性能优化有哪些技巧,怎样做?”的内容就介绍到这里了,感谢大家的阅读。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章