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 相关文章推荐
PR值查询 | PageRank 查询
Dec 20 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php session应用实例 登录验证
Mar 16 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 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之字符串变相相减的代码
2007/03/19 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
DEFER怎么用?
2006/07/01 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
学python安装的软件总结
2019/10/12 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
几个Linux面试题笔试题
2012/12/01 面试题
教学改革实施方案
2014/03/31 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
机动车交通事故协议书
2015/01/29 职场文书
2015年检验科工作总结
2015/04/27 职场文书
小学生暑假生活总结
2015/07/13 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书