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 相关文章推荐
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
php实现aes加密类分享
Feb 16 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
一段实用的php验证码函数
May 19 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
php批量删除操作(数据访问)
May 23 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 PHP
Yii框架安装简明教程
May 15 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
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
使用Python pip怎么升级pip
2020/08/11 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
数组越界问题
2015/10/21 面试题
会计电算化应届生求职信
2013/11/03 职场文书
厨师岗位职责
2013/11/12 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
食品采购员岗位职责
2014/04/14 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
优秀团支部申报材料
2014/12/26 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
不同意离婚上诉状
2015/05/23 职场文书
仙境之桥观后感
2015/06/16 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB