-
若一个请求返回了last-modified请求头信息,则下次同样url请求时,会带上此last-modified信息,服务器通过判断last-modified决定状态码返回的是304(缓存)还是200(重新请求成功)查看全部
-
<?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; use app\models\Order; class HelloController extends Controller{ /** * 先于操作来执行 * 1.F是怎么告诉L把数据缓存在浏览器本地的呢? * HttpCache类决定了L要不要缓存F发送给它的数据。F发送数据给L是以响应的方式,响应分为响应头和响应体2部分 * HttpCache在响应发送给L之前,会往响应头存放一些缓存相关的信息(Cache-Control:"public,max-age=3600") * 然后L在接收到响应之后会根据缓存相关信息(Cache-Control)来决定把数据缓存在L这边 */ public function behaviors(){//行为相关的方法 return [ [ 'class'=>'yii\filters\HttpCache', 'lastModified'=>function(){ return 1432817565;//返回一个时间戳 } ] ]; } public function actionIndex(){ return $this->renderPartial('index'); } }查看全部
-
ETag和last-modify作为Http的标准header,会令浏览器返回304 Not Modified查看全部
-
<?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; use app\models\Order; class HelloController extends Controller{ /** * 先于操作来执行,如果该操作被指定了页面缓存,则把操作结果缓存到页面缓存当中,当第二次调用该操作,则直接到页面缓存中取数据,而不执行操作 */ public function behaviors(){//行为相关的方法 // echo '1'; return [ [ 'class'=>'yii\filters\PageCache',//页面缓存类 'duration'=>1000, //有效期 'only'=>['index','test'],//指定哪些操作会页面缓存 'dependency'=>[ //页面依赖 'class'=>'yii\caching\FileDependency', 'fileName'=>'hw.txt' ] ] ]; } public function actionIndex(){ echo '5'; // $this->render('index');//缓存这个视图 } public function actionTest(){ echo '7'; } }查看全部
-
谨慎使用:外层的失效时间应该小于内层,外层的依赖条件应该低于内层,以确保最小的片段,返回的是最新的数据。查看全部
-
片段缓存设置查看全部
-
//片段缓存介绍(主要负责把前端界面的一些区域[不会经常变动的区域:如京东商品分类]缓存起来[缓存到内存或文件中],下次访问时直接从缓存里把数据拿出来,而不用再从数据库抓取信息,提高了程序的执行效率) <?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; use app\models\Order; class HelloController extends Controller{ public function actionIndex(){ return $this->renderPartial('index');//显示index视图(basic\views\hello) } } --------------------------------------------------------------------------------- views/hello/index.php <!-- 使用视图组件($this)里的beginCache('缓存数据的名字id')方法把cache_div给缓存起来;这个方法开启会检查当前有没有缓存,如果没有返回false --> <!-- 如何证明cache_div的代码片段被缓存了呢? 在两个div里都添加上相同的内容。如果cache_div被缓存起来将会使用缓存里的内容,而不会使用修改后的内容。提高了程序的运行效率。 --> <?php if($this->beginCache('cache_div')){?> <div id='cache_div'> <div>这里待会会被缓存(这里是缓存过后添加的)</div> </div> <?php $this->endCache();//结束缓存 } ?> <div id='no_cache_div'> <div>这里不会被缓存(这里是缓存过后添加的)</div> </div>查看全部
-
只建议将常用的高频率class放进‘类的映射表’,不常用的就不要放,否则映射表大了,不但降低查询效率,还将占用不必要的内存。查看全部
-
是的撒查看全部
-
yii2快速的机制:使用类的映射表,把常用的类放入映射表中,加快加载速度查看全部
-
yii2高效机制主要是使用延迟加载技术;其中函数spl_autoload_register();查看全部
-
yii查看全部
-
http缓存简介查看全部
-
http缓存简介查看全部
-
use Yii; 后下面使用Yii的函数就可以不要 \Yii::$app这种形式,直接Yii::$app就好查看全部
举报
0/150
提交
取消