啟用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM