提升 laravel 性能需缓存配置与 路由 、分层缓存视图和数据、优化 composer 自动加载、 异步 处理非关键任务,并配合部署流程固化命令。

提升 Laravel 应用性能,核心在于减少重复计算、降低 I/O 开销、加快响应速度。缓存是见效最快的方式,配合合理的 Artisan 命令优化,能显著改善启动时间、路由 解析、配置加载等环节。
用好配置与路由缓存
Laravel 每次请求都会重新读取 config/ 和 routes/ 下的 php 文件,开发时方便,上线后却成负担。生产环境务必启用缓存:
- php artisan config:cache —— 合并所有 配置文件 为单个 bootstrap/cache/config.php,避免多次 require
- php artisan route:cache —— 将所有路由注册逻辑编译为静态数组,跳过 RouteServiceProvider 的动态注册过程
注意:启用后,新增或修改路由 / 配置需重新运行对应命令;闭包 路由不支持缓存,应改用控制器方法。
视图与数据缓存协同使用
模板渲染本身开销不大,但频繁读取 数据库 再渲染就慢了。建议分层缓存:
- 对不常变的数据(如站点设置、分类列表),用 Cache::remember(‘site_settings’, 3600, fn() => Setting::first())
- 对整块 html(如侧边栏、热门文章),用 @cache(‘sidebar’, 60) + @endcache(需安装 laravel-blade-cache)
- 避免在 循环 里调用缓存读写,尽量预加载或批量获取
优化自动加载与类映射
Composer 自动加载机制默认较松散,可针对性提速:
- composer dump-autoload –optimize-autoloader –classmap-authoritative —— 生成高效类映射表,跳过 PSR-4 文件扫描
- 确保 composer.json 中 autoload 的 classmap 或 files 部分只包含真正需要“硬 编码”的类,避免冗余
- 部署时加 –no-dev 参数,排除开发依赖,减小 autoloader 体积
队列与 延迟加载 减少首屏压力
非关键操作别卡在 http 请求里:
- 邮件发送、日志上报、统计埋点等,统一走 php artisan queue:work 异步处理
- 大 对象 或关联数据按需加载:$post->loadMissing(‘author.profile’) 替代 eager loading 全部关系
- 分页用 cursorPaginate() 替代 paginate(),避免 count() 查询
基本上就这些。缓存不是越多越好,关键是缓存什么、缓存多久、失效怎么处理。命令优化也得配合部署流程固化,比如 CI/CD 中自动执行 config:cache 和 route:cache。不复杂但容易忽略。
以上就是 Laravel 如何优化应用性能?(缓存和优化命令)的详细内容,更多请关注 php 中文网其它相关文章!