搜索
首页后端开发php教程10个技巧优化PHP程序Laravel 5框架

      性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。
  接下来分享一些开发的最佳实践www.itxdl.cn,还有调优技巧,大家有别的建议也欢迎留言讨论。
  这里是简单的列表:
  配置信息缓存 artisan config:cache
  路由缓存 artisan route:cache
  类映射加载优化 artisan optimize
  自动加载优化 composer dumpautoload
  使用 Memcached 来存储会话 config/session.php
  使用专业缓存驱动器 config/cache.php
  数据库请求优化
  为数据集书写缓存逻辑
  使用即时编译器(JIT),如:HHVM、OpCache
  前端资源合并 Elixir
  1. 配置信息缓存
  使用以下 Artisan 自带命令,把 config 文件夹里所有配置信息合并到一个文件里,减少运行时文件的载入数量:
  php artisan config:cache
  上面命令会生成文件 bootstrap/cache/config.php,可以使用以下命令来取消配置信息缓存:
  php artisan config:clear
  此命令做的事情就是把 bootstrap/cache/config.php 文件删除。
  注意:配置信息缓存不会随着更新而自动重载,所以,开发时候建议关闭配置信息缓存,一般在生产环境中使用,可以配合 Envoy 任务运行器 一起使用。
  2. 路由缓存
  路由缓存可以有效的提高路由器的注册效率,在大型应用程序中效果越加明显,可以使用以下命令:
  php artisan route:cache
  以上命令会生成 bootstrap/cache/routes.php 文件,需要注意的是,路由缓存不支持路由匿名函数编写逻辑。
  可以使用下面命令清除路由缓存:
  php artisan route:clear
  此命令做的事情就是把 bootstrap/cache/routes.php 文件删除。
  注意:路由缓存不会随着更新而自动重载,所以,开发时候建议关闭路由缓存,一般在生产环境中使用,可以配合 Envoy 任务运行器 一起使用。
  3. 类映射加载优化
  optimize 命令把常用加载的类合并到一个文件里,通过减少文件的加载,来提高运行效率:
  php artisan optimize --force
  会生成 bootstrap/cache/compiled.php 和 bootstrap/cache/services.json 两个文件。
  你可以可以通过修改 config/compile.php 文件来添加要合并的类。
  在 production 环境中,参数 --force 不需要指定,文件就会自动生成。
  要清除类映射加载优化,请运行以下命令:
  php artisan clear-compiled
  此命令会删除上面 optimize 生成的两个文件。
  注意:此命令要运行在 php artisan config:cache 后,因为 optimize 命令是根据配置信息(如:config/app.php 文件的 providers 数组)来生成文件的。
  4. 自动加载优化
  此命令不止针对于 Laravel 程序,适用于所有使用 composer 来构建的程序。此命令会把 PSR-0 和 PSR-4 转换为一个类映射表,来提高类的加载速度。
  composer dumpautoload -o
  注意:php artisan optimize --force 命令里已经做了这个操作。
  5. 使用 Memcached 来存储会话
  每一个 Laravel 的请求,都会产生会话,修改会话的存储方式能有效提高程序效率,会话的配置信息是 config/session.php,建议修改为 Memcached 或者 Redis 等专业的缓存软件:
  'driver' => 'memcached',
  6. 使用专业缓存驱动器
  「缓存」是提高应用程序运行效率的法宝之一,默认缓存驱动是 file 文件缓存,建议切换到专业的缓存系统,如 Redis 或者 Memcached,不建议使用数据库缓存。
  'default' => 'redis',
  7. 数据库请求优化
  数据关联模型读取时使用 延迟预加载 和 预加载 ;
  使用 Laravel Debugbar 或者 Clockwork 留意每一个页面的总数据库请求数量;
  这里的篇幅只写到与 Laravel 相关的,其他关于数据优化的内容,请自行查阅其他资料。
  8. 为数据集书写缓存逻辑
  合理的使用 Laravel 提供的缓存层操作,把从数据库里面拿出来的数据集合进行缓存,减少数据库的压力,运行在内存上的专业缓存软件对数据的读取也远远快于数据库。
  $posts = Cache::remember('index.posts', $minutes = 30, function()
  {
  return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
  });
  remember 甚至连数据关联模型也都一并缓存了,多么方便呀。
  9. 使用即时编译器
  HHVM 和 OpCache 都能轻轻松松的让你的应用程序在不用做任何修改的情况下,直接提高 50% 或者更高的性能,PHPhub 之前做个一个实验,具体请见:使用 OpCache 提升 PHP 5.5+ 程序性能。
  10. 前端资源合并
  作为优化的标准,一个页面只应该加载一个 CSS 和 一个 JS 文件,并且文件要能方便走 CDN,需要文件名随着修改而变化。
  ~10个技巧优化PHP程序Laravel 5框架
  性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。
  接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。
  这里是简单的列表:
  配置信息缓存 artisan config:cache
  路由缓存 artisan route:cache
  类映射加载优化 artisan optimize
  自动加载优化 composer dumpautoload
  使用 Memcached 来存储会话 config/session.php
  使用专业缓存驱动器 config/cache.php
  数据库请求优化
  为数据集书写缓存逻辑
  使用即时编译器(JIT),如:HHVM、OpCache
  前端资源合并 Elixir




声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
11个最佳PHP URL缩短脚本(免费和高级)11个最佳PHP URL缩短脚本(免费和高级)Mar 03, 2025 am 10:49 AM

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

Instagram API简介Instagram API简介Mar 02, 2025 am 09:32 AM

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

在Laravel中使用Flash会话数据在Laravel中使用Flash会话数据Mar 12, 2025 pm 05:08 PM

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

构建具有Laravel后端的React应用程序:第2部分,React构建具有Laravel后端的React应用程序:第2部分,ReactMar 04, 2025 am 09:33 AM

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

简化的HTTP响应在Laravel测试中模拟了简化的HTTP响应在Laravel测试中模拟了Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

php中的卷曲:如何在REST API中使用PHP卷曲扩展php中的卷曲:如何在REST API中使用PHP卷曲扩展Mar 14, 2025 am 11:42 AM

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

在Codecanyon上的12个最佳PHP聊天脚本在Codecanyon上的12个最佳PHP聊天脚本Mar 13, 2025 pm 12:08 PM

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

宣布 2025 年 PHP 形势调查宣布 2025 年 PHP 形势调查Mar 03, 2025 pm 04:20 PM

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具