偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PHP緩存機制的具體講解

開發(fā) 后端
PHP緩存機制包括:數(shù)據(jù)緩存;頁面緩存;時間觸發(fā)緩存;內(nèi)容觸發(fā)緩存;靜態(tài)緩存;內(nèi)存緩存;php的緩沖器;MYSQL緩存;基于反向代理的Web緩存;基于反向代理的Web緩存等等。

通過對本站PHP基礎(chǔ)技術(shù)的學習,我們可以初步了解PHP緩存機制的具體作用,下面我們就通過本文來具體了解一些PHP緩存機制的類別,加深對PHP緩存機制的了解。

#t#普遍緩存技術(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)鍵點。

頁面緩存:

每次訪問頁面的時候,都會先檢測相應(yīng)的緩存頁面文件是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),顯示頁面并同時生成緩存頁面文件,這樣下次訪問的時候頁面文件就發(fā)揮作用了。(模板引擎和網(wǎng)上常見的一些PHP緩存機制類通常有此功能)

時間觸發(fā)緩存:

檢查文件是否存在并且時間戳小于設(shè)置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那么就用緩存,否則更新緩存。

內(nèi)容觸發(fā)緩存:

當插入數(shù)據(jù)或更新數(shù)據(jù)時,強制更新PHP緩存機制。

靜態(tài)緩存:

這里所說的靜態(tài)緩存是指靜態(tài)化,直接生成HTML或XML等文本文件,有更新的時候重生成一次,適合于不太變化的頁面,這就不說了。

以上內(nèi)容是代碼級的解決方案,我直接CP別的框架,也懶得改,內(nèi)容都差不多,很容易就做到,而且會幾種方式一起用,但下面的內(nèi)容是服務(wù)器端的緩存方案,非代碼級的,要有多方的合作才能做到

內(nèi)存緩存:

Memcached是高性能的,分布式的內(nèi)存對象PHP緩存機制系統(tǒng),用于在動態(tài)應(yīng)用中減少數(shù)據(jù)庫負載,提升訪問速度。

php的緩沖器:

有eaccelerator, apc, phpa,xcache,這個這個就不說了吧,搜索一堆一堆的,自己看啦,知道有這玩意就OK

MYSQL緩存:

這也算非代碼級的,經(jīng)典的數(shù)據(jù)庫就是用的這種方式,看下面的運行時間,0.09xxx之類的
我貼段根據(jù)藍色那家伙修改后部分my.ini吧,2G的MYISAM表可以在0.05S左右,據(jù)說他前后改了有快一年

基于反向代理的Web緩存:

如Nginx,SQUID,mod_proxy(apache2以上又分為mod_proxy和mod_cache)
NGINX的例子

DNS輪詢:

BIND是一款開放源碼的DNS服務(wù)器軟件,這個要說起來就大了,自己搜索去,大家知道有這個東西就行了。
我知道的有chinacache等大站就是這樣做的,說簡單點就是多服務(wù)器啦,把同一個頁面或文件緩存到不同的服務(wù)器上,按南北自動解析到相關(guān)的服務(wù)器中。

責任編輯:曹凱 來源: 百度博客
相關(guān)推薦

2009-11-23 14:17:50

PHP 5.3閉包語法

2009-11-24 16:28:41

PHP5魔術(shù)函數(shù)

2009-11-23 13:00:40

PHP獲取QQ郵箱好友

2009-12-04 16:49:38

PHP導出Excel亂

2009-11-24 15:43:17

PHP給圖片加水印

2009-12-03 17:57:35

PHP重定向代碼

2010-07-21 17:23:04

telnet回顯

2011-07-05 17:52:41

PHP

2013-01-10 14:54:48

Android開發(fā)組件Intent

2014-07-15 10:16:02

AndroidIntent

2009-11-23 20:16:17

PHP接口特性

2009-11-23 17:31:49

PHP時間戳

2010-09-14 17:20:57

2021-11-30 10:58:52

算法緩存技術(shù)

2010-06-23 15:41:44

Linux Bash

2010-01-25 15:35:08

Android NDK

2009-11-23 15:32:13

PHP獲取遠程URL

2009-11-24 11:00:05

PHP函數(shù)Date()

2009-11-27 13:24:20

PHP代碼性能優(yōu)化

2009-11-27 16:20:22

PHP遞歸調(diào)用
點贊
收藏

51CTO技術(shù)棧公眾號