-
cache缓存组件的操作查看全部
-
Yii2 中应用自动加载类文件查看全部
-
性能优化第二层次,自动加载所需文件,spl_autoload_register()查看全部
-
性能优化第一层次,手动加载需要的文件。查看全部
-
hw.txt的正确路径应该是在basic/web目录下,不用加具体的路径名。入口文件index.php也是在该目录下查看全部
-
status=304 not modified查看全部
-
缓存是缓存在浏览器这一端的查看全部
-
http缓存 浏览器向服务器请求数据,如果服务器的数据没有发生变化,那么无论浏览器发送多少请求 服务器发送的数据都是一样的,这样的话会对服务器资源造成一种浪费。 因此希望,如果服务器数据没有发生变化,那么就不对浏览器返回数据,仍旧使用浏览器缓存的数据。 做法是:服务器返回的数据会被加上last-modified 这个字段,表示最后一次修改时间, 如果浏览器发送请求,则会将last-modified 这些数据再发送给服务器,服务器发现last-modified 没有发生改变 则不再重复给浏览器发送数据,可以节约资源。 还有一种情况就是说,如果服务器端数据发生了改变,但是在浏览器请求数据之前,数据又改变回来了,所以last-modified 发生了变化, 但是这种情况也不希望服务器给浏览器返回数据。因此,服务器返回给浏览器的数据中还有一个字段etag表示数据内容是否发生变化, 如果last-modified 发生了变化,再进一步判断etag是否发生变化,如果没有,则不返回数据。查看全部
-
lazy loading技术,yii懒加载技术依赖于php的spl_autoload_register(),注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保yii的autoloader会被最先调用,类自动加载的这个机制的引入要从入口文件index.php 开始说起。 <?php defined('YII_DEBUG')or define('YII_DEBUG',false); defined('YII_ENV')or define('YII_ENV','prod'); //这个是第三方的autoloader require(__DIR__.'/../vendor/autoload.php'); //这个是yii的Autoloader,放在最后面,确保 其插入的autoloader会放在最前面 require(__DIR__.'/../vendor/yiisoft/yii2/Yii.php'); require(__DIR__.'/../../common/config/aliases.php'); $config=yii\helpers/ArrayHelper::merge( require(__DIR__.'../../common/config/main.php'), require(__DIR__.'../../common/config/main-local.php'), require(__DIR__.'../config/main.php'), require(__DIR__.'../config/main-local.php') ); $application=new yii\web\Application($config); $application->run(); 这个文件主要看点在于第三方的autoloader与Yii实现的autoloader的顺序,不管第三方的代码是如何使用spl_autoloader_register()来注册资金的autoloader的。只有yii的代码在最后面,就可以确保其可以将自己的autoloader插入到整个 autoloader栈的最前面,从而在需要时最先被调用 ?>查看全部
-
<?php namespace app\controllers; use Yii; use yii\web\Controller; class HelloController extends Controller { public function behaviors(){ return [ [ 'class'=>'yii\filters\PageCache', 'duration'=>1000, 'only'=>['index','test'], //这里类名首字母需要用小写字母 'dependency'=>[ 'class'=>'yii\caching\FileDependency', 'fileName'=>'hw.txt' ] ] ]; } public function actionIndex() { echo 3; } public function actionTest(){ echo 6; } }查看全部
-
<?php //缓存时间 // $duration = 15; // //缓存依赖 // $dependency = [ // 'class' => 'yii\caching\FileDependency', // 'fileName' => 'hw.txt' // ]; //缓存开关 $enabled = false; ?> <?php if($this->beginCache('cache_div',['enabled'=>$enabled])){?> <div id="cache_div"> <div>这里待会会被缓存d</div> </div> <?php $this->endCache(); } ?>查看全部
-
<?php if($this->beginCache('cache_div')){?> <div id="cache_div"> <div>这里待会会被缓存</div> </div> <?php $this->endCache(); } ?> <div id="no_cache_div"> <div>这里不会被缓存</div> </div>查看全部
-
缓存数据有效期设置,可以在add或set的时候进行设置, add(''key','value',有效期); set(''key','value',有效期); 有效期(单位:S)查看全部
-
添加数据缓存; 首先,需要config中的web.php中开启并设置四种缓存方式之一; 其次,加载缓存组件,并进行增删改查。参看截图 注意一点,缓存中相同的key值add方法时不会重复修改,只能通过set方法修改查看全部
-
可以通过使用Yii::$classMap,对延迟加载机制进行优化,是典型的空间换时间的做法,所以不建议往classMap中放入太多不常用的内容,避免内存占用过多. Yii::$classMap['app\models\Test'] = '/Volumes/DataDisk/www/study/basic/models/Test.php'; 另外,Yii::$classMap数组中的可以需要用全名'app\models\Test',而不能简单的用Test查看全部
举报
0/150
提交
取消