国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

關于php緩存技術的簡單總結

2019-11-08 18:29:56
字體:
來源:轉載
供稿:網友

      php緩存包括PHP編譯緩存和PHP數據緩存兩種。PHP是一種解釋型語言,屬于邊編譯邊運行的那種。這種運行模式的優點是程序修改很方便,但是運行效率卻很低下。PHP編譯緩存針對這種情況做改進處理,使得PHP語言只要運行一次,就可以把程序的編譯結果緩存起來、

    PHP緩存包括PHP編譯緩存和PHP數據緩存兩種。PHP是一種解釋型語言,屬于邊編譯邊運行的那種。這種運行模式的優點是程序修改很方便,但是運行效率卻很低下。PHP編譯緩存針對這種情況做改進處理,使得PHP語言只要運行一次,就可以把程序的編譯結果緩存起來。這樣,接下來的每次運行(代碼沒有改變的情況下)都不需要再次編譯了,直接把之前的編譯結果拿來使用,比如thinkPHP里面runtime想下的cache文件就是屬于這種,第一次打開頁面會生成php文件,之后打開頁面,會發現文件的修改時間沒有變,即使用了之前的編譯結果,不過當更改了代碼之后,這部分php編譯文件還是會重新生成,這大大提高PHP運行速度。PHP數據緩存運用于PHP實際開發之中針對數據處理進行緩存,主要兩大方向為:針對數據庫數據進行緩存和針對PHP模板數據進行緩存。

PHP編譯緩存

      PHP是一種解釋型語言,在PHP語言執行代碼的時候,需要下面兩步:1、編譯過程。PHP讀取文件,并編譯該文件,然后生成能夠在Zend Engine虛擬機上執行的中間碼。2、執行過程。PHP直接執行中間碼。以下兩種情況,會導致PHP運行程序代碼效率低下:1、即使PHP代碼文件沒有發生改變,也會被PHP重新編譯。2、如有引用文件,PHP也要花費時間重新編譯這些被引用的文件。因此,需要PHP編譯緩存工具對PHP程序的編譯結果做緩存處理。這樣,PHP程序只要編譯一次,就不要重新再做無意義的編譯了。

PHP數據緩存

     PHP的數據緩存包括針對數據庫數據進行緩存(動態緩存)和針對PHP模板數據進行緩存(模板層面的靜態緩存)。針對數據庫數據進行緩存的工具有memcache等。針對PHP模板數據進行緩存的工具主要有smarty等。1、數據庫數據緩存技術:數據緩存:這里所說的數據緩存是指數據庫查詢PHP緩存機制,每次訪問頁面的時候,都會先檢測相應的緩存數據是否存在,如果不存在,就連接數據庫,得到數據,并把查詢結果序列化后保存到文件中,以后同樣的查詢結果就直接從緩存表或文件中獲得。例如使用memcache,每次先在memcache里面進行查找,如果發現相應的key值則直接使用,如果沒有則從數據庫里面調取,同時更新到memcache里面。2、頁面緩存:每次訪問頁面的時候,都會先檢測相應的緩存頁面文件是否存在,如果不存在,就重新走控制器,連接數據庫,得到數據,顯示頁面并同時生成新的緩存頁面文件,這樣下次訪問的時候頁面文件就就可以直接給予顯示,這種情況下就可以不走控制器。(模板引擎和網上常見的一些PHP緩存機制類通常有此功能,例如smarty模板、thinkphp框架)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诏安县| 西充县| 苗栗县| 宽甸| 南开区| 翁牛特旗| 广平县| 贵阳市| 招远市| 梅河口市| 报价| 外汇| 吴桥县| 江川县| 北安市| 平安县| 汉阴县| 江阴市| 正宁县| 余姚市| 瑞安市| 河北区| 长乐市| 乐平市| 华亭县| 玛曲县| 昌黎县| 白水县| 西和县| 巩义市| 汉中市| 明溪县| 桂东县| 尼木县| 大宁县| 宁阳县| 建瓯市| 绍兴市| 德兴市| 葵青区| 南陵县|