使用緩存技術的理由?當然是提高網站的訪問速度!
聽到php緩存技術是什麼時候?不記得了,呵呵,工作當中一直沒注意這個。惱火~~
今天瘋狂Google了一下,或多或少了解了一些東西,那就簡單的歸納一下吧,各位看官別扔磚頭!
緩存技術分爲動態緩存技術和靜態緩存技術,對於那些PV不是很大的中小型網站使用動態緩存技術估計也就差不多了,但對於PV很大的網站還得使用靜態緩存技術。
緩存,那到底緩存些個啥呢?
一、緩存數據
adodb就是緩存的數據,當第一次執行某條數據庫查詢的時候,adodb會將本次查詢獲取的結果集進行緩存,下次再執行相同的sql語句時就不用再次對數據庫進行操作了,挺好~!~
二、頁面緩存
用了很久的smarty,一直沒想過去研究smarty的緩存技術,今天看了,恩,它就是頁面緩存。哈哈!~!~可惜,每次還得php解析一次的哦~~
阿彌陀佛~!~
那麼緩存何時更新呢?什麼情況下更新呢?
PHP緩存技術之時間觸發緩存:
檢查文件是否存在並且時間戳小於設置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那麼就用緩存,否則更新緩存。
設定時間內不去判斷數據是否要更新,過了設定時間再更新緩存。以上只適合對時效性要求不高的情況下使用,否則請看下面。
PHP緩存技術之內容觸發緩存:
當插入數據或更新數據時,強制更新緩存。
在這裏我們可以看到,當有大量數據頻繁需要更新時,最後都要涉及磁盤讀寫操作。怎麼解決呢?我在日常項目中,通常並不緩存所有內容,而是緩存一部分不經常變的內容來解決。但在大負荷的情況下,最好要用共享內存做緩存系統。
上述方法每次請求仍然要經過PHP解析,在大負荷的情況下效率問題還是比效嚴重,在這種情況下,也許會用到靜態緩存。