2017-11-27 10:18:51 1363瀏覽
今天扣丁學(xué)堂給大家在這里所說的數(shù)據(jù)緩存是指數(shù)據(jù)庫查詢PHP緩存機制,每次訪問頁面的時候,都會先檢測相應(yīng)的緩存數(shù)據(jù)是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),并把查詢結(jié)果序列化后保存到文件中,以后同樣的查詢結(jié)果就直接從緩存表或文件中獲得。下面我們一起來看一下吧。
扣丁學(xué)堂PHP培訓(xùn)之PHP緩存技術(shù)十種方法總結(jié)
1、普遍緩存技術(shù):
數(shù)據(jù)緩存:這里所說的數(shù)據(jù)緩存是指數(shù)據(jù)庫查詢PHP緩存機制,每次訪問頁面的時候,都會先檢測相應(yīng)的緩存數(shù)據(jù)是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),并把查詢結(jié)果序列化后保存到文件中,以后同樣的查詢結(jié)果就直接從緩存表或文件中獲得。用例子看Discuz的搜索功能,把結(jié)果ID緩存到一個表中,下次搜索相同關(guān)鍵字時先搜索緩存表。舉個常用的方法,多表關(guān)聯(lián)的時候,把附表中的內(nèi)容生成數(shù)組保存到主表的一個字段中,需要的時候數(shù)組分解一下,這樣的好處是只讀一個表,壞處就是兩個數(shù)據(jù)同步會多不少步驟,數(shù)據(jù)庫永遠是瓶頸,用硬盤換速度,是這個的關(guān)鍵點。
2、頁面緩存:
每次訪問頁面的時候,都會先檢測相應(yīng)的緩存頁面文件是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),顯示頁面并同時生成緩存頁面文件,這樣下次訪問的時候頁面文件就發(fā)揮作用了。(模板引擎和網(wǎng)上常見的一些PHP緩存機制類通常有此功能)
3、時間觸發(fā)緩存:
檢查文件是否存在并且時間戳小于設(shè)置的過期時間,如果文件修改的時間戳比當(dāng)前時間戳減去過期時間戳大,那么就用緩存,否則更新緩存。
4、內(nèi)容觸發(fā)緩存:
當(dāng)插入數(shù)據(jù)或更新數(shù)據(jù)時,強制更新PHP緩存機制。
5、靜態(tài)緩存:
這里所說的靜態(tài)緩存是指靜態(tài)化,直接生成HTML或XML等文本文件,有更新的時候重生成一次,適合于不太變化的頁面,這就不說了。
6、內(nèi)存緩存:
Memcached是高性能的,分布式的內(nèi)存對象PHP緩存機制系統(tǒng),用于在動態(tài)應(yīng)用中減少數(shù)據(jù)庫負載,提升訪問速度。
7、php的緩沖器:
有eaccelerator, apc, phpa,xcache,這個這個就不說了吧,搜索一堆一堆的,自己看啦,知道有這玩意就OK
8、MYSQL緩存:
這也算非代碼級的,經(jīng)典的數(shù)據(jù)庫就是用的這種方式,看下面的運行時間,0.09xxx之類的
9、基于反向代理的Web緩存:
如Nginx,SQUID,mod_proxy(apache2以上又分為mod_proxy和mod_cache)
10、DNS輪詢:
BIND是一款開放源碼的DNS服務(wù)器軟件,這個要說起來就大了,自己搜索去,大家知道有這個東西就行了。
由此可見,想要成功找到滿意的工作我們的技術(shù)水平一定要過關(guān),因此學(xué)好PHP開發(fā)技術(shù)很重要。想要學(xué)好PHP開發(fā)技術(shù)可以選擇口碑良好的扣丁學(xué)堂進行學(xué)習(xí),扣丁學(xué)堂不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的PHP視頻教程供學(xué)員觀看學(xué)習(xí),想要PHP開發(fā)工程師視頻教程的小伙伴快聯(lián)系我們的咨詢老師領(lǐng)取吧??鄱W(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號免費領(lǐng)取丁豆獲取更多的學(xué)習(xí)資料】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>