首頁 >後端開發 >PHP問題 >php怎麼設定緩存時間

php怎麼設定緩存時間

藏色散人
藏色散人原創
2020-11-27 09:05:582301瀏覽

php設定快取時間的方法:先建立一個PHP範例檔案;然後透過「if(is_file('./index.html') && (time()-filemtime('./index.html' )) < 60){...}”方法設定快取時間即可。

php怎麼設定緩存時間

推薦:《PHP影片教學

本教學操作環境:

  • Windows7系統、PHP5.6版

  • 適用於所有品牌電腦

php處理靜態頁面:頁面設置快取時間

1.頁面新增快取時間

2.手動觸發的方式

3.crontab定時掃描程式

我們來實現方案一:頁面新增快取時間

用户请求页面 => 页面是否过期 =>
=> 否(获取静态页面) || =>是(动态页面生成一份新的静态页面)
if( 如果存在这个静态文件 && 没有过期){
    // 获取页面
}else{
    // 重新生成一份静态页面
}

ok,基本邏輯就是如此,下面我們完善程式碼:

<?php
if(is_file(&#39;./index.html&#39;) && (time()-filemtime(&#39;./index.html&#39;)) < 60){ 
    // 假设缓存时间是60秒
    // 获取页面
    require_once(&#39;./index.html&#39;);
}else{
    // 重新生成一份静态页面
    // 准备要展示到网页的数据
    $data = array( 
        array(&#39;id&#39;=>1,&#39;msg&#39;=>&#39;hello java&#39;),
        array(&#39;id&#39;=>2,&#39;msg&#39;=>&#39;hello php&#39;),
        array(&#39;id&#39;=>3,&#39;msg&#39;=>&#39;hello python&#39;),
    );
    // 渲染到模板
    // 实际项目一般是在html里渲染
    // 这里演示 希望能看懂
    ob_start(); // 开始输入缓冲控制
    foreach($data as $item){
        echo $item[&#39;id&#39;].&#39;===>&#39;.$item[&#39;msg&#39;].&#39;<br/>&#39;;
    }
    // 开始生成静态页面文件
    file_put_contents(&#39;index.html&#39;,ob_get_contents());
}

這樣我們存取index.php,如果靜態檔案快取沒有過期,其實質訪問的內容來自index.html這個靜態檔案。

以上是php怎麼設定緩存時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn