YII框架http缓存操作示例


Posted in PHP onApril 29, 2019

本文实例讲述了YII框架http缓存操作。分享给大家供大家参考,具体如下:

http禁止缓存原理

header('Expires: 0');
header('Last-Modified: '. gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cahe, must-revalidate');
//ie专用
header('Cache-Control: post-chedk=0, pre-check=0', false);
//for HTTP/1.0
header('Pragma: no-cache');

HttpcacheController.php

首先判断的是客户端lastModified,如果最后更新时间没有变化,就不会更新缓存,然后再判断etagSeed

<?php
/**
 * Created by PhpStorm.
 * Date: 2016/5/25
 * Time: 20:17
 * http 缓存
 */
namespace frontend\controllers;
use yii;
use yii\web\Controller;
class HttpcacheController extends Controller
{
  public function behaviors()//先于action执行,可以用来实现页面缓存
  {
    return [
      [
        'class'=>'yii\filters\HttpCache',//整个页面缓存
        'lastModified'=>function(){
          return filemtime('hw.txt');
          //return 22221231231231;//可以在每次修改数据时,记入缓存,从缓存读取
        },
        'etagSeed'=>function(){
          $fp = fopen('hw.txt','r');//hw.txt在web的根目录下
          $title = fgets($fp);//读取第一行
          fclose($fp);
          return $title;
          //return 'etagseed2123123';//内容
        },
      ]
    ];
  }
  public function actionIndex()
  {
    $content = file_get_contents('hw.txt');
    return $this->renderPartial("index",['new'=>$content]);
  }
}

httpcache/index.php

<?php
/**
 * Created by PhpStorm.
 * Date: 2016/5/25
 * Time: 20:19
 */
?>
<div>
  <div>这是http缓存页面</div>
  <p><?= $new;?></p>
</div>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个PHP操作Access类(PHP+ODBC+Access)
Jan 02 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php常用数学函数汇总
Nov 21 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 PHP
PHP常见的几种攻击方式实例小结
Apr 29 #PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 #PHP
详解提高使用Java反射的效率方法
Apr 29 #PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 #PHP
详解php中生成标准uuid(guid)的方法
Apr 28 #PHP
PHP写API输出的时用echo的原因详解
Apr 28 #PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 #PHP
You might like
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
完美的php分页类
2017/10/24 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
javascript Keycode对照表
2009/10/24 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python数据操作方法封装类实例
2017/06/23 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
python IDLE添加行号显示教程
2020/04/25 Python
医学生职业规划范文
2014/01/05 职场文书
结婚邀请函范文
2014/01/14 职场文书
社区端午节活动方案
2014/01/28 职场文书
新手上路标语
2014/06/20 职场文书
课外活动总结范文
2014/07/09 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python