Yii2详解HTTP缓存

12 篇文章 0 订阅
概述

这里只是简单讲一下用法,如果想更详细的了解,去看 官方手册 比较好。

除了使用服务器端缓存外, Web 应用还可以利用客户端 缓存去节省相同页面内容的生成和传输时间。通过配置 yii\filters\HttpCache 过滤器,控制器操作渲染的内容就能 缓存在客户端。

示例说明
class TestController extends Controller{
    // 该方法会在其他方法之前执行
    public function behaviors()
    {
        // 声明缓存配置
        return [ // 需要注意的这里是二维数组
            [
                'class' => 'yii\filters\HttpCache', // 设置需要加载的缓存文件
                'only' => ['index'], // 设置需要缓存的控制器
                'lastModified' => function(){ // 设置 Last-Modified 头
                    return 1548922;
                },
                'etagSeed' => function (){ // 设置 ETag 头
                    return 'hello';
                }
            ]
        ];
    }
    public function actionIndex(){
        return $this->renderPartial('index');
    }
    public function actionTest(){
        echo 789;
    }
}
参数说明
  • class:定义需要加载的缓存配置文件。
  • only:定义仅仅只需要在哪个页面设置缓存。如上列举例中,仅仅只有index页面会缓存下来,其他页面则不会缓存。
  • lastModified:使用时间戳标明页面自上次客户端缓存后是否被修改过。
  • etagSeed:通过对比客户端的哈希值和服务器端生成的哈 希值,浏览器就能判断页面是否被修改过,进而决定是否应该重新传输内容。
注意

lastModifiedetagSeed 同时被设置时,lastModified 的设置可以说无效,因为会始终按照 etagSeed 的改变而改变。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值