當前位置:成語大全網 - 書法字典 - 北大青鳥Java培訓:PHP應用中常用的9種緩存技術?

北大青鳥Java培訓:PHP應用中常用的9種緩存技術?

1.全頁面靜態緩存是指所有頁面都生成為html靜態頁面,用戶訪問時直接訪問這些頁面,而不是經過php服務器解析的過程。

這種方法在CMS系統中很常見,如dedecms;常用的實現方法是使用output cache:ob _ start()* * * * *要運行的代碼* * * * * $ content = ob _ get _ contents();* * * *將緩存的內容寫入html文件* * * * ob _ end _ clean();第二,數據緩存,顧名思義,是壹種緩存數據的方式;例如,當用商品id請求購物中心中的商品信息時,將獲得包括商店信息和商品信息的數據。此時,可以將這些數據緩存在壹個php文件中,並且文件名包含商品id以構建唯壹標記;下次有人想查看該產品時,應該先直接查看該文件中的信息,而不必去數據庫進行查詢。事實上,緩存文件中緩存的是php數組之類的東西;該方法用於Ecmall商城系統;三、查詢緩存實際上,這與數據緩存是壹個思路,即根據查詢語句進行緩存;將查詢獲得的數據緩存在壹個文件中,下次遇到相同的查詢時,將首先直接從該文件中傳輸數據,並且不會再次檢查數據庫;但是,這裏的緩存文件名可能需要根據查詢語句建立唯壹的標簽;根據時間變化進行緩存意味著您需要為緩存文件設置壹個有效時間。在此有效時間內,相同的訪問將首先獲取緩存文件的內容,但是如果超過了設置的緩存時間,您需要再次從數據庫中獲取數據並生成最新的緩存文件。例如,我將我們商城的主頁設置為每2小時更新壹次。

第四,頁面的部分被緩存。這樣,頁面中不經常更改的部分將被靜態緩存,而經常更改的塊則不會被緩存,並最終組合在壹起顯示;它可以以類似於ob_get_contents的方式實現,也可以通過使用ESI之類的頁面片段緩存策略來緩存動態頁面中相對靜態的片段部分。

這種方法可以用在例如商城中的商品頁面;5.操作碼緩存首先,php代碼被解析為令牌,然後編譯為操作碼代碼,最後執行操作碼代碼並返回結果;因此,對於同壹個php文件,您可以在第壹次運行它時緩存其操作碼代碼,下次執行此頁面時,您將直接找到緩存的操作碼代碼並直接執行最後壹步,而無需中間步驟。

比較知名的有XCache、TurckMMCache、PHPAccelerator等。

6.根據內容變化進行緩存。這不是壹項獨立的緩存技術,需要結合使用。也就是說,當數據庫內容被修改時,緩存文件會立即更新;比如人流量大的商場,商品很多,商品清單必然比較大,這壹桌的壓力也比較重;我們可以緩存產品展示頁面;當商家在後臺修改該商品的信息時,點擊保存,我們將同時更新緩存文件;然後,當買家訪問這個產品信息時,他實際上詢問的是壹個靜態頁面,並且他不需要再次訪問數據庫;想象壹下,如果產品頁面沒有緩存,那麽每次訪問產品時,您都必須在數據庫中檢查它。如果有654.38+萬人在線瀏覽產品,服務器的壓力會很大;七、內存緩存提到這個,可能大家首先想到的就是Memcached;Memcached是壹個高性能的分布式內存緩存服務器。

壹般目的是通過緩存數據庫查詢結果來減少數據庫訪問次數,從而提高動態Web應用程序的速度和可擴展性。

它是將需要緩存的信息緩存在系統內存中,需要獲取時直接從內存中取出;比較常見的方式是key _》;價值模式;connect($ memcachehost,$ memcacheport)or die(“could not connect“);$ memcache-& gt;set(“key”、“緩存的內容”);$ get = $ memcache-& gt;get($ key);//獲取信息?& gt八、apache緩存模塊apache安裝後不允許緩存。

重慶IT培訓/認為如果外部緩存或squid服務器需要web加速,需要在htttpd.conf中設置,前提是安裝apache時激活mod_cache模塊。