PHP文件緩存的性能測試
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。關於PHP文件緩存的性能怎麼測試呢?下面是相關的知識,歡迎閲讀。
PHP常用緩存方式:
第一種,把需要緩存的數據進行處理,形成PHP可以直接執行的文件。在需要緩存數據的時候,通過include方式引入,並使用。
第二種,把需要的數據通過serialize函數序列化後直接保存到文件。在需要使用緩存數據的時候,通過反序列化讀入文件內容並複製給需要的變量,然後使用。
測試結果:
通過測試我們發現,第二種也就是serialize緩存數據的.方式更加高效。(數據略去,最後提供了文章地址下載,大家可以自行測試)
原因分析:
include方式讀取緩存的時候,PHP需要執行幾個過程
1.讀取文件
2.解析所Include的文件
3.執行,給變量賦值
而serialize序列化方式讀取緩存的時候:
1.讀取數據
2.反序列化數據內容
3.給變量賦值
從以上內容對比的話,可能是由於解析PHP文件內的數組需要的時間超過unserialize反序列化數組的時間。
測試文件代碼:
CacheTest_
$t1 = gettimeofday();
for ($i = 0; $i < 10000; $i++){
include("CacheTest_");
}
$t2 = gettimeofday();
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "";
CacheTest_
function read_cache($filename) {
if(@$fp = fopen($filename, 'r')) {
@$data = fread($fp,filesize($cachefile));
fclose($fp);
}
return $s;
}
$t1 = gettimeofday();
for ($i = 0; $i < 10000; $i++){
$x = read_cache("CacheTest_");
$x_r = unserialize($x);
}
$t2 = gettimeofday();
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "";
總結分析:
第一種,include緩存的方式
優點:增加數據的保密性,和安全性,緩存內容不會被外界發現。
缺點:速度相對較慢。
用途:保存禁止系統外部得知的數據,比如web系統的設置,甚至MySQL信息等的保存
第二種,serialize序列化緩存的方式
優點:速度較快。
缺點:緩存系統文件路徑一旦曝光,緩存內容會泄露。
用途:緩存最新文章,相關文章等不擔心外部得知的數據的時候,可以使用這種方式。
-
PHP base64解碼 加密圖片的還原方法
PHP是一門高效的網絡編程語言,由於它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。以下是小編為大家搜索整理的PHPbase64解碼加密圖片的還原方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網![php]viewplaincopy//文件名:$d...
-
PHP中Http協議post請求參數
本文給大家介紹PHP中Http協議post請求參數,具體內容如下所示,就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!WEB開發中信息基本全是在POST與GET請求與響應中進行,GET因其基於URL的直觀,易被我們瞭解,可POST請求因其信息的隱蔽,在...
-
PHP常用開發技巧
PHP開發常用技巧能使你在開發過程中快而有效.以下就是小編精心推薦PHP常用開發技巧,希望對大家有幫助!1使用dowhile避免多層if語句嵌套我們直接舉例説明:實現方式①if($name=='hedong'){if($sex=='male'){if($major=='PHP'){$ret='...
-
php格式輸出文件var-export函數
php格式輸出文件var_export函數,以實例形式講述了格式輸出函數var_export的特性與具體用法,具有一定的參考借鑑價值,需要的朋友可以參考下.本文實例講述了php格式輸出文件var_export函數的用法。分享給大家供大家參考。具體如下:var_export:php4>=4.2.0,php5var...