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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
PHP的引用详解
Feb 22 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
php结合curl实现多线程抓取
Jul 09 PHP
PHP性能优化大全(php.ini)
May 20 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
php如何获取Http请求
Apr 30 PHP
php屏蔽错误及提示的方法
May 10 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中的foreach问题
2013/06/30 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
解决python报错MemoryError的问题
2018/06/26 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
Shell如何接收变量输入
2012/09/24 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
电力公司个人求职信范文
2014/02/04 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
新郎新娘答谢词
2015/01/04 职场文书
停电放假通知
2015/04/14 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
追悼会家属答谢词
2015/09/29 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电