程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP基於文件存儲實現緩存的方法

PHP基於文件存儲實現緩存的方法

編輯:PHP綜合

本文實例講述了PHP基於文件存儲實現緩存的方法。分享給大家供大家參考。具體如下:

在一些數據庫數據記錄較大,但是服務器有限的時候,可能一條MySQL查詢就會好幾百毫秒,一個簡單的頁面一般也有十幾條查詢,這個時候也個頁面加載下來基本要好幾秒了,如果並發量高的話服務器基本就癱瘓了,造成一個頁面很久也加載不下來,這個時候我們可以使用文件緩存來緩解下MySQL的壓力,下面給個使用例子。

<?php
//頁面業務邏輯處理,獲得結果
$objPage = new Page_IndexModel($arrParams);
//一系列的業務邏輯放在了objPage中,調用process方法獲得結果集
$arrResult = $objPage->process();
//獲得結果後smarty賦值
$smarty->assign($arrResult);
//輸出模板
$smarty->display();
?>

現在我們用文件緩存來略過Page業務處理這一步

<?php
$cachFile = './index.php';
//緩存文件存在且時間不超過一小時,則直接使用緩存的結果集,不在進行任何的MySQL查詢了
if(file_exists($cacheFile) && time()-filemtime($cachFile) < 3600) {
  //使用緩存中的結果
  $arrResult = include($cachFile);
} else {
  $objPage = new Page_IndexModel($arrParams);
  $arrResult = $objPage->process();
  $strContent = "<?php \n return ".var_export($arrResult, true)."\n;";
  //將結果集緩存
  file_put_contents($cachFile, $strContent);
}
//獲得結果後smarty賦值
$smarty->assign($arrResult);
//輸出模板
$smarty->display();

希望本文所述對大家的php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved