首頁 後端開發 php教程 PHP快取的九個方法

PHP快取的九個方法

Jun 07, 2018 am 11:37 AM
php緩存技術

這篇文章主要介紹PHP快取的九個方法,有興趣的朋友參考下,希望對大家有幫助。

1、全頁面靜態化快取

也就是將頁面全部產生html靜態頁面,使用者造訪時直接造訪的靜態頁面,而不會去走php伺服器解析的流程。此種方式,在CMS系統中比較常見,例如dedecms;

一種比較常用的實作方式是用輸出快取:

Ob_start()

*** ***要執行的程式碼*******

$content = Ob_get_contents();

#****將快取內容寫入html檔*****

Ob_end_clean();

2、頁面部分快取

該種方式,是將一個頁面中不常變的部分進行靜態緩存,而經常變化的區塊不緩存,最後組裝在一起顯示;可以使用類似於ob_get_contents 的方式實現,也可以利用類似ESI之類的頁面片段緩存策略,使其用來做動態頁面中相對靜態的片段部分的緩存(ESI技術,請baidu,此處不詳講)。

該種方式可以用於如商城中的商品頁;

3、資料快取

顧名思義,就是快取資料的一種方式;例如,商城中的某個商品信息,當用商品id去請求時,就會得出包括店鋪信息、商品信息等數據,此時就可以將這些數據緩存到一個php文件中,文件名包含商品id來建一個唯一標示;下次有人想查看這個商品時,首先就直接調這個文件裡面的信息,而不用再去數據庫查詢;其實緩存文件中緩存的就是一個php數組之類;

Ecmall商城系統裡面就用了這種方式;

4、查詢快取

其實這跟資料快取是一個思路,就是根據查詢語句來緩存;將查詢得到的數據緩存在一個文件中,下次遇到相同的查詢時,就直接先從這個文件裡面調數據,不會再去查數據庫;但此處的緩存文件名可能就需要以查詢語句為基點來建立唯一標示;

按時間變更進行快取

其實,這條不是真正的快取方式;上面的2、3、4的快取技術一般都用到了時間變更判斷;就是對於快取檔案您需要設一個有效時間,在這個有效時間內,相同的存取才會先取快取檔案的內容,但是超過設定的快取時間,就需要重新從資料庫中取得數據,並生產最新的快取檔案;例如,我將我們商城的首頁就是設定2個小時更新一次;

#5、按內容變更進行快取

這個也並非獨立的快取技術,需結合著用;就是當資料庫內容被修改時,即刻更新快取檔案;

例如,一個人流量很大的商城,商品很多,商品表必然比較大,這表的壓力也比較重;我們就可以對商品顯示頁進行頁面緩存;

當商家在後台修改這個商品的信息時,點擊保存,我們同時就更新緩存文件;那麼,買家訪問這個商品信息時,實際上訪問的是一個靜態頁面,而不需要再去訪問資料庫;

試想,如果對商品頁不緩存,那麼每次訪問一個商品就要去數據庫查一次,如果有10萬人在線上瀏覽商品,那伺服器壓力就大了;

6、記憶體快取

提到這個,可能大家想到的首先就是Memcached;memcached是高效能的分散式記憶體快取伺服器。一般的使用目的是,透過快取資料庫查詢結果,減少資料庫存取次數,以提高動態Web應用的速度、 提高可擴充性。

它是將需要快取的信息,快取到系統記憶體中,需要取得資訊時,直接到記憶體中取;比較常用的方式就是key–>value方式;

<?php 
   $memcachehost = &#39;192.168.6.191&#39;;
   $memcacheport = 11211;
   $memcachelife = 60;
   $memcache = new Memcache;
   $memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
   $memcache->set(&#39;key&#39;,&#39;缓存的内容&#39;);
   $get = $memcache->get($key);    //获取信息
?>
登入後複製

7、apache快取模組

apache安裝完以後,是不被允許被cache的。如果外接了cache或squid伺服器要求進行web加速的話,就需要在htttpd.conf裡進行設置,當然前提是在安裝apache的時候要啟動mod_cache的模組。

安裝apache時:./configure –enable-cache –enable-disk-cache –enable-mem-cache

8、php APC快取擴充功能

Php有APC快取擴展,windows下面是php_apc.dll,需要先載入這個模組,然後是在php.ini裡面進行配置:

   extension=php_apc.dll 
   apc.rfc1867 = on 
   upload_max_filesize = 100M 
   post_max_size = 100M 
   apc.max_file_size = 200M 
   upload_max_filesize = 1000M 
   post_max_size = 1000M 
   max_execution_time = 600 ;  每个PHP页面运行的最大时间值(秒),默认30秒 
   max_input_time = 600 ;    每个PHP页面接收数据所需的最大时间,默认60 
   memory_limit = 128M ;    每个PHP页面所吃掉的最大内存,默认8M
登入後複製

9、Opcode快取

我們知道,php的執行流程可以用下圖來展示:

#

首先php程式碼被解析為Tokens,然後再編譯為Opcode碼,最後執行Opcode碼,返回結果;所以,對於相同的php文件,第一次運行時可以緩存其Opcode碼,下次再執行這個頁面時,直接會去找到快取下的opcode碼,直接執行最後一步,而不再需要中間的步驟了。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php判斷函數中必傳參數是否存在

PHP(迭代遞歸)實作無限級分類詳解

php實作支援中文的檔案下載

#

以上是PHP快取的九個方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在PHP中透過快取技術實現動態資料快取? 如何在PHP中透過快取技術實現動態資料快取? Jun 21, 2023 am 08:10 AM

隨著網路應用的不斷發展,優化網站效能已成為網站開發的必要任務之一。這其中,快取技術的使用是一種重要的最佳化手段。在PHP開發中,透過快取技術可以提高網站的效能和回應速度,有效避免重複計算和查詢資料庫等操作,從而實現動態資料的快取。本文將介紹如何在PHP中利用快取技術實現動態資料快取。快取的概念快取是一種用於提高應用效能的技術。在網站開發中,快取就是快取服務

如何使用 PHP 優化網站效能和載入速度 如何使用 PHP 優化網站效能和載入速度 Sep 12, 2023 am 10:13 AM

如何使用PHP優化網站效能和載入速度隨著網路的快速發展,網站的效能和載入速度越來越受到人們的關注。而作為一種廣泛使用的伺服器端腳本語言,PHP在優化網站效能和載入速度方面具有重要作用。本文將介紹一些使用PHP的技巧和方法,以提高網站的效能和載入速度。使用快取機制快取是提高網站效能的有效方法。 PHP提供了多種快取機制,如檔案快取、記憶體快取和數

PHP中快取技術對於靜態資源檔案的有效性分析 PHP中快取技術對於靜態資源檔案的有效性分析 Jun 19, 2023 pm 10:49 PM

PHP是一種伺服器端程式語言,廣泛應用於web開發。在開發網站過程中,靜態資源檔案(包括css、js、圖片等)的載入速度直接影響網站的使用者體驗。因此,如何提高靜態資源檔案的載入速度成為了開發者需要思考的問題之一。一個解決方案是使用PHP中的快取技術。在PHP中,靜態資源檔案的快取主要分為瀏覽器快取和伺服器快取兩種。瀏覽器快取借助瀏覽器的本機快取機制,減

PHP中封裝性的快取策略和技術 PHP中封裝性的快取策略和技術 Oct 12, 2023 am 10:51 AM

PHP中封裝性的快取策略和技術快取是提高應用效能的重要手段之一。在PHP開發中,合理地使用快取可以減少資料庫查詢次數、提高資料讀取速度,進而提升應用程式的回應速度與使用者體驗。封裝性的快取策略是指將快取的操作封裝到通用的程式碼區塊中,方便在多個地方重複使用,並且方便統一管理和配置。下面我們將介紹幾種常見的封裝性的快取策略和技術,同時給出具體的程式碼範例。文件快取檔案快取是最

PHP快取技術方法及常見問題總結 PHP快取技術方法及常見問題總結 Jun 08, 2023 pm 04:40 PM

PHP快取技術方法及常見問題總結隨著網站的訪問量不斷增加,為了提升網站的回應速度和效能,快取技術就顯得格外重要。在PHP開發中,快取技術也扮演著至關重要的角色。本文將介紹PHP快取技術的方法以及常見問題的解決方法。一、PHP快取技術方法1.檔案快取檔案快取是指將資料快取在檔案中,需要使用時直接讀取檔案即可。具體實作方式是,將資料序列化後儲存在檔案中,讀取時

PHP中的快取技術及其實作方法 PHP中的快取技術及其實作方法 Jun 23, 2023 am 11:31 AM

隨著現代Web應用程式的複雜性不斷增加,效能問題已成為開發人員面臨的一個主要挑戰。其中一個常見的效能瓶頸是資料庫或檔案系統的頻繁訪問,這可能導致嚴重的效能問題。快取技術就是解決這些問題的一種方法。本文將介紹在PHP中使用快取的基本知識和實作方法。我們將討論一些流行的PHP快取技術和如何將它們整合到我們的應用程式中。什麼是緩存?快取是一種將應用程式

PHP中的快取技術指南 PHP中的快取技術指南 Jun 11, 2023 am 09:04 AM

PHP是一門廣泛應用於Web開發的腳本語言,許多網站都是使用PHP進行開發的。然而,在訪問量不斷增加的情況下,網站的效能問題也日益突出。為了提升網站的效能,快取技術是一個非常有效的解決方案。本文將介紹PHP中的快取技術,旨在幫助讀者更了解並應用快取技術來提升網站效能。什麼是快取技術快取技術是一種在應用程式中用於提高資料存取速度的技術。它通過在內存或磁碟中緩緩

PHP中快取技術在不同類型應用的應用場景分析 PHP中快取技術在不同類型應用的應用場景分析 Jun 19, 2023 pm 11:25 PM

PHP是一種常見的伺服器端腳本語言,而快取技術是最佳化效能的有效方式。本文將探討在不同應用場景中,使用PHP快取技術的好處與應用方法。 Web應用Web應用程式在啟動時需要執行大量的初始化操作,如載入設定檔、資料庫連線等。這些操作耗費大量的時間和運算資源,影響Web應用的效能。使用快取技術可以減少這些初始化操作的執行次數,加快Web應用的回應速度。在網路應用中,

See all articles