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树的代码,可以嵌套任意层
Oct 09 PHP
用PHP制作静态网站的模板框架(二)
Oct 09 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
CodeIgniter生成静态页的方法
May 17 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 PHP
PHP加MySQL消息队列深入理解
Feb 27 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
消息持续发送的完整例子
2006/10/09 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
jQuery参数列表集合
2011/04/06 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
Python中的is和id用法分析
2015/01/26 Python
Python装饰器的函数式编程详解
2015/02/27 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
基于Python的关键字监控及告警
2017/07/06 Python
itchat接口使用示例
2017/10/23 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
python3 线性回归验证方法
2019/07/09 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
社团活动策划书范文
2014/01/09 职场文书
2014年端午节活动方案
2014/03/11 职场文书
文明寝室标语
2014/06/13 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
安全生产奖惩制度
2015/08/06 职场文书