启用PHP网站缓存的最简易方法

今天接到用户反应我们飞儿云的免费空间比较慢,

仔细排查线路问题,最后发现所有服务器网速一切正常。

但网站打开始终感觉特别缓慢,后来发现这个视频网站的源码并没有做缓存,

并且每次访问时都会去抓取360的视频页面,还要连接数据库进行取数据,

对于这种无需频繁更新的网站就应该启用缓存功能,但是腾讯云CDN缓存又不太易于用户控制。

最后我想到用PHP代码上面增加缓存功能,时间可以随意设置。是视频网站的最佳方案。

编辑下面代码保存成default.php并放到您的网站根目录,修改相应参数即可

<?php

start(array(
    'index_file' => dirname(__FILE__) . '/index.php', //你首页的文件名
    'cache_file' => dirname(__FILE__) . '/index.txt', //要缓存的文件名
    'expire_seconds' => 600, //过期的秒数(60秒=1分钟)
));

function start($config) {
    $remain_seconds = $file_timestamp = 0;
    if (hasCached($config, $remain_seconds, $file_timestamp)) {
        $html = '';
        $html .= '<!-- [当前为缓存页面,距离更新还有剩余' . $remain_seconds . '秒] -->' . "\r\n";
        $html .= '<!-- [该缓存页面生成于' . date('Y-m-d H:i:s', $file_timestamp) . '] -->' . "\r\n";
        $html .= file_get_contents($config['cache_file']);
        die($html);
    }
    ob_start();
    include($config['index_file']);
    $content = ob_get_contents();
    file_put_contents($config['cache_file'], $content);
}

function hasCached($config, &$remain_seconds, &$file_timestamp) {
    if (!file_exists($config['cache_file'])) {
        return FALSE;
    }
    if (filesize($config['cache_file']) === 0) {
        return FALSE;
    }
    $file_timestamp = filemtime($config['cache_file']);
    $remain_seconds = $config['expire_seconds'] - (time() - $file_timestamp);
    if ($remain_seconds <= 0) {
        return FALSE;
    }
    return TRUE;
}

以上就是我们的飞儿云空间的加速方法,当然你也可以在其他空间使用。

该文章为本站原创文章,欢迎转载,但请保留出处以及作者信息。
http://www.cnblogs.com/feieryun/p/8596910.html

我们飞儿云免费空间申请地址是http://yun.firadio.net

备用域名yun.xiangxisheng.cn

飞儿云免费空间交流QQ群702585967

作者阿盛的QQ:309385018

 

转载于:https://www.cnblogs.com/feieryun/p/8596910.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值