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脚本的10个技巧(6)
Oct 09 PHP
PHP读取MySQL数据代码
Jun 05 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
php图片缩放实现方法
Feb 20 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
php生成静态页面的简单示例
Apr 17 PHP
php通过function_exists检测函数是否存在的方法
Mar 18 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php面向对象值单例模式
May 03 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
laravel框架创建授权策略实例分析
Nov 22 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
Admin generator, filters and I18n
2011/10/06 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
php5与php7的区别点总结
2019/10/11 PHP
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
Python实现的数据结构与算法之链表详解
2015/04/22 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
Python爬虫文件下载图文教程
2018/12/23 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
python装饰器原理与用法深入详解
2019/12/19 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
食品安全承诺书范文
2014/08/29 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
SQL中的连接查询详解
2022/06/21 SQL Server