如何使用PHP緩存?
PHP的緩存可以加快網站打開速度,減少服務器負載等,對于PHP緩存的實現方式很多,今天主要選擇比較典型的幾種作為案例簡單進行說明,以后的文章會對每個緩存機制做詳細的描述,首先我們要說一下什么是緩存。
1、什么是緩存
緩存是一種“以空間換時間”的策略,是一種提高性能的常用方法。緩存機制通常用于緩解大訪問量下的數據庫和磁盤負擔,有效的應用緩存機制可以很大的減少對數據庫和磁盤的操作次數,PHP的緩存方式有哪些呢?
2、時間觸發緩存
檢查文件是否存在并且時間戳小于設置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那么就用緩存,否則更新緩存。
3、 時間觸發緩存
檢查文件是否存在并且時間戳小于設置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那么就用緩存,否則更新緩存。
4、文件緩存
這種方式是把數據庫查詢出來的數據做為緩存的內容,假如查詢出來的數據是一個數組,我們可以將這個數組系列化之后再保存在一個PHP文件中,當要讀取內容的時候就可以反系列化從而得到一個查詢結果的數組。避免了對數據庫進行反復的查詢。(注:讀取文件的速度比查詢數據庫快,但是要避免文件太多,從而對硬盤的IO操作太多,從而影響速度,所以緩存文件也要合里規劃。)
5、內存緩存
內在緩存應該也是數據緩存的一種,是將數據庫查詢出來的 數據緩存在內存中,共享內存塊中。這種方式可以通過擴展軟件來實現,現在主流的主要是memcache
6、頁面靜態化
頁面生成靜態化就是生成靜態的html,這樣程序下次訪問的時候直接請求這個html文件,避免了PHP的重新編譯和數據庫的查詢。 Smarty 模版緩存。
7、PHP模塊緩存
PHP有一個APC緩存擴展,windows下面為php_apc.dll,需要先加載這個模塊。
8、MYSQL緩存
MYSQL自帶有自己的緩存機制,需要調整配置文件my.ini。
9、PHP緩沖器:
eAccelerator、xcache、Zend Optimizer等軟件可以優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。
10、服務器緩存
通過web服務器的緩存機制,實現數據的緩存,例如:APACHE的mod_mem_cache、mod_disk_cache、mod_cache等。