查看: 593|回复: 0

[PHP代码] Laravel 5 框架性能优化技巧

发表于 2017-11-25 09:39:07

性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。

接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论

1、配置缓存信息

使用laravel自带的artisan命令,将所有config里面的配置都缓存到一个文件里。

  1. php artisan config:cache
复制代码

所有缓存信息会被 bootstrap/cache/config.php 文件里,也可以用以下命令来删除该缓存信息:

  1. php artisan config:clear
复制代码

当配置信息修改的时候,一般直接执行 php artisan config:cache 即可,因为它会自动先执行 php artisan config:clear ,然后再执行 php artisan config:cache 。

2、路由信息缓存

当路由越来越多的时候,特别是在大型项目中,路由缓存的效果很明显。

  1. php artisan route:cache
复制代码

所有路由会被缓存到 bootstrap/cache/routes.php 文件里,如果要使用路由缓存,那么所有的路由就不能使用闭包即匿名函数的形式了。同样可以用

  1. php artisan route:clear
复制代码

清除路由缓存。

3、类映射加载优化

optimize 命令把一些常用的类缓存到文件里,通过减少文件的加载,提升性能:

  1. php artisan optimize --force
复制代码

会生成 bootstrap/cache/packages.php 和 bootstrap/cache/services.php 两个文件。

在 production 环境中,参数 --force 不需要指定,文件就会自动生成。

要清除类映射加载优化,请运行以下命令:

  1. php artisan clear-compiled
复制代码

此命令会删除上面 optimize 生成的两个文件。

注意:此命令要运行在 php artisan config:cache 后,因为 optimize 命令是根据配置信息(如:config/app.php 文件的 providers 数组)来生成文件的。

4、使用redis/memcached来储存session会话

每一个laravel请求都会产生session会话信息,默认使用file存储的方式,存在 storage/framework/sessions 文件里,可以再 config/session.php 里修改储存方式。

  1. 'driver' => 'redis',
复制代码

5、使用专业的缓存驱动器

「缓存」是提高应用程序运行效率的法宝之一,默认缓存驱动是 file 文件缓存,建议切换到专业的缓存系统,如 Redis 或者 Memcached,不建议使用数据库缓存。

可以再配置文件 config/cache.php 里修改:

  1. 'default' => 'reids',
复制代码



回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条