命令优化

本文的目的是来弄清楚一些优化命令在 Laravel 5.1 和之前版本之间的差别. 在 15年6月发布的 Laravel 5.1版本中, 命令和他们的逻辑方法被清理掉, 本文章就是描述这些不同.

Laravel 5 在优化框架性能的时候提供了一系列的命令, 这篇文章接卸这些命令做什么并且把缓存文件放到了什么位置.

php artisan optimize
php artisan config:cache
php artisan route:cache

优化文件的存储路径

优化命令生成的文件放置在 bootstrap/cache/目录下

artisan optimize

php artisan optimize 创建了一个调用文件来为了避免每次请求的时候把一系列的文件都加载进来. 这个文件存储在bootstrap/cache/compiled.php.

你可以在 config/compile.php 文件中指定需要额外加载的类.

这个编译文件仅仅在 环境是 production (开发环境) 的时候才生成, 除非使用 --force 参数

artisan optimize 同时也创建了bootstrap/cache/services.json , 用来优化服务加载器的性能. 这个命令不再编译视图文件.
(The command does no longer compile views.)

php artisan clear-compiled 删除bootstrap/cache/compiled.phpbootstrap/cache/services.json.

artisan optimize 的输出基于你的配置文件, 例如 config/app.phpproviders数组, 在部署模式下, 这个命令需要在php artisan config:cache 之后执行

artisan config:cache

php artisan config:cache 这个把所有的配置文件打包到一个文件 bootstrap/cache/config.php 中, 这样避免了配置文件加载多次. 这个命令在生成新的配置文件前会清理掉旧的配置文件.

php artisan config:clear 用来逆向这个过程, 来删除bootstrap/cache/config.php这个文件.

artisan route:cache

php artisan route:cache 建立一个路由缓存文件来加速路由解析. 这个命令会首先清理旧的缓存文件.

php artisan route:clear 删除路由缓存

artisan view:clear

Laravel 会在第一次运行框架的时候编译所有的视图文件. 编译的文件根据路径的 md5 来计算新文件的路径 MD5 sum of its path (不是内容, 是路径).

artisan view:clear 清理 所有在 storage/framework/views/ 下的文件.

Laravel 5.0

在 5.1 之前, 优化文件默认生成在 vendor/ 目录下. 如果vendor 目录不可写, 文件会被写入到 storage/framework/目录下, 在 v5.0.20 你可以设置 storage/framework/作为默认的优化文件的存储路径. 方法是 在 bootstrap/app.php 文件中加入下边这一行:

$app->useStoragePathForOptimizations(true);

Laravel 5.1 会用一个指定的目录bootstrap/cache来保存 生成的编译文件. 这包括 , bootstrap/cache, compiled.php, routes.php, config.php, 和services.json.

1. 取消 Inspiring 加载

来这里看看 Inspiring 能做什么
Inspiring 是 l5 默认带的一个获取心灵鸡汤显示的一个示例. 不需要鸡汤则优化掉

'aliases'         => [
...
'Inspiring' => 'Illuminate\Foundation\Inspiring',
...
]

... 持续更新

文/多厘(简书作者)
原文链接:http://www.jianshu.com/p/1d5fa4696ca9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

laravel 5.1 的程序性能优化(配置文件)的更多相关文章

  1. (上线时清缓存)laravel 5.1 的程序性能优化(配置文件) - 简书

    代码上到正式环境后执行这六步 php artisan config:clear php artisan config:cache php artisan route:clear php artisan ...

  2. C++ 应用程序性能优化

    C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...

  3. Java程序性能优化技巧

    Java程序性能优化技巧 多线程.集合.网络编程.内存优化.缓冲..spring.设计模式.软件工程.编程思想 1.生成对象时,合理分配空间和大小new ArrayList(100); 2.优化for ...

  4. 《Java程序性能优化:让你的Java程序更快、更稳定》

    Java程序性能优化:让你的Java程序更快.更稳定, 卓越网更便宜,不错的书吧

  5. [JAVA] java程序性能优化

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...

  6. iOS程序性能优化

    iOS程序性能优化 一.初级 使用ARC进行内存管理 在iOS5发布的ARC,它解决了最常见的内存泄露问题.但是值得注意的是,ARC并不能避免所有的内存泄露.使用ARC之后,工程中可能还会有内存泄露, ...

  7. [python]用profile协助程序性能优化

    转自:http://blog.csdn.net/gzlaiyonghao/article/details/1483728 本文最初发表于恋花蝶的博客http://blog.csdn.net/lanph ...

  8. iOS 程序性能优化

    前言 转载自:http://www.samirchen.com/ios-performance-optimization/ 程序性能优化不应该是一件放在功能完成之后的事,对性能的概念应该从我们一开始写 ...

  9. 微信小程序性能优化技巧

    摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...

随机推荐

  1. 使用Android Ant在编译时混淆

    关于ANT 编译和脚本请查看 : http://sinfrancis.javaeye.com/blog/721582 这里使用的是proguard4.4 ,在原有的ANT脚本上加入以下代码: 定义pr ...

  2. SVN 使用学习记录

    一.基本SVN操作 安装了SVN之后,在本机上点击右键,就能够看到如下信息: 1.建立SVN Repository 下面来建立一个SVN Repository.这个文件夹是同步用的,你可以放在本机的任 ...

  3. inux --- 服务器性能监控

    几个问题 先来看看下面几个问题: CPU.内存以及硬盘的关系是怎样的? 进程和线程是什么?有什么区别?有什么优缺点? 什么是物理内存?什么是虚拟内存?什么时候要用到虚拟内存? 什么是CPU中断?CPU ...

  4. Python isspace() 方法

    描述 Python isspace() 方法检测字符串是否只由空格组成. 语法 isspace() 方法语法: S.isspace() 参数 无. 返回值 如果字符串中至少有一个字符,并且所有字符都是 ...

  5. .net数据库连接池(转载)

    如何实现连接池? 确保你每一次的连接使用相同的连接字符串(和连接池相同):只有连接字符串相同时连接池才会工作.如果连接字符串不相同,应用程序就不会使用连接池而是创建一个新的连接. 优点 使用连接池的最 ...

  6. Vim进阶技术:搜索和替换

    行内搜索 行内搜索,也就是在当前行内进行搜索和移动,通常都与编辑命令一起使用. fx -- 移动到下一个字符x的位置,光标停留在x字符上面 tx -- 移动到下一个字符x的位置,光标停留在x前一个字符 ...

  7. Maven Docker镜像使用技巧

    摘要: Maven是目前最流行的Java项目管理工具之一,提供了强大的包依赖管理和应用构建功能.本文以Maven为例介绍了Docker在应用构建中的一些常见技巧. Maven是目前最流行的Java项目 ...

  8. [sh]函数+条件表达式

    了解了下shell的函数和case语句: 函数格式: function(){ } 例子: function rsyncstart() { if [ "${status1}X" == ...

  9. 【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)

    1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系. 每一个 iOS 应用程序都有一个单独的文件系统(存储空间).并且仅仅能在相应的文件系统中进行操作,此区域被称为沙盒. 全部的非 ...

  10. nfs missing codepage or helper program, or other error

    [root@xxxxx ~]# /bin/mount -t nfs -o nosuid,noexec,nodev,noatime,intr,rsize=,wsize= xxx.xxx.xxx.xxx: ...