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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
PHP中设置时区方法小结
Jun 03 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
php的4种常见运行方式
Mar 20 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
yii2学习教程之5种内置行为类详解
Aug 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
网站当前的在线人数
2006/10/09 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python functools模块学习总结
2015/05/09 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python实现AI换脸功能
2020/04/10 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
股份合作协议书
2014/04/12 职场文书
婚前协议书范本
2014/04/15 职场文书
供货协议书
2014/04/22 职场文书
安全生产月宣传标语
2014/10/06 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
保洁员岗位职责
2015/02/04 职场文书
《秋思》教学反思
2016/02/23 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书