为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—高效篇(2)

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • 若一个请求返回了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
    查看全部
    0 采集 收起 来源:http缓存位置

    2016-11-18

  • <?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'; } }
    查看全部
    1 采集 收起 来源:页面缓存

    2018-03-22

  • 谨慎使用:外层的失效时间应该小于内层,外层的依赖条件应该低于内层,以确保最小的片段,返回的是最新的数据。
    查看全部
    0 采集 收起 来源:片段缓存嵌套

    2016-11-18

  • 片段缓存设置
    查看全部
    0 采集 收起 来源:片段缓存设置

    2016-11-18

  • //片段缓存介绍(主要负责把前端界面的一些区域[不会经常变动的区域:如京东商品分类]缓存起来[缓存到内存或文件中],下次访问时直接从缓存里把数据拿出来,而不用再从数据库抓取信息,提高了程序的执行效率) <?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>
    查看全部
    0 采集 收起 来源:片段缓存介绍

    2018-03-22

  • 只建议将常用的高频率class放进‘类的映射表’,不常用的就不要放,否则映射表大了,不但降低查询效率,还将占用不必要的内存。
    查看全部
  • 是的撒
    查看全部
    0 采集 收起 来源:http缓存简介

    2016-09-16

  • yii2快速的机制:使用类的映射表,把常用的类放入映射表中,加快加载速度
    查看全部
  • yii2高效机制主要是使用延迟加载技术;其中函数spl_autoload_register();
    查看全部
    0 采集 收起 来源:类的延迟加载

    2016-09-12

  • yii
    查看全部
  • http缓存简介
    查看全部
    0 采集 收起 来源:http缓存简介

    2016-08-16

  • http缓存简介
    查看全部
    0 采集 收起 来源:http缓存简介

    2016-08-16

  • use Yii; 后下面使用Yii的函数就可以不要 \Yii::$app这种形式,直接Yii::$app就好
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、对MVC开发方式有一定的了解
老师告诉你能学到什么?
1、YII的延迟加载 2、YII的多级缓存 3、GII工具的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!