久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP緩存篇:字節碼緩存和對象緩存

瀏覽:6日期:2022-09-16 10:23:19

PHP自身效率很高,但是執行創建遠程連接、加載文件等操作時容易出現瓶頸,幸運的是,我們有很多工具來加速這部分操作,或減少 這些耗時操作的執行次數。

字節碼緩存

在一個PHP文件被執行時,它先被編譯為字節碼(也稱opcode),然后這些字節碼被執行。如果文件沒有修改,那么字節碼也會保持不變, 這意味著編譯這一步白白浪費了CPU資源。

這就是引入字節碼緩存的原因,通過把字節碼保存在內存中來消除冗余的編譯,重用它們完成后續的調用。配置字節碼緩存非常簡單, 而且可以極大地提高應用的執行效率,沒有理由不使用字節碼緩存。

流行的字節碼緩存方案有:

APCXCacheZend Optimizer+?(part of Zend Server package)WinCache?(extension for MS Windows Server)對象緩存

很多時候,在代碼中緩存對象可以帶來很大的收益,例如獲取代價很大的數據和查詢結果很少變化的數據庫調用。我們可以使用對象緩存系統緩存這些數據,大大加快后續的同類訪問請求。如果你在取得這些數據之后,把它們緩存在系統中,在后續對這些數據的請求 中,就可以直接使用緩存中的對象,這么做可以很大的提示系統性能,減少服務器的負載。

很多流行的字節碼緩存方案也允許你緩存自定義數據,因此我們更應該充分利用對象緩存功能。APC、XCache和WinCache都提供API, 讓你把數據緩存在他們的內存cache中。

使用最多的內存對象緩存系統是APC和memcached,APC是很好的一個對象緩存方案,它提供了簡單的API來讓你把對象存儲在內存中,而且 配置和使用都非常容易,它的一個缺點是只能在本機使用。Memcached則是另外一種方式,它是一個單獨的服務,可以通過網絡訪問,這意味著可以在一個地方寫入數據,然后在不同的系統中訪問這份數據。

在單機性能上,APC通常比Memcached更高,如果你不需要多臺服務器或者其他Memcached的高級功能,APC可能是你的最佳選擇。

APC的示例:

<?php// check if there is data saved as ’expensive_data’ in cache$data = apc_fetch(’expensive_data’);if ($data === false) { // data is not in cache; save result of expensive call for later use apc_add(’expensive_data’, $data = get_expensive_data());}print_r($data);

學習更多對象緩存系統:

APC FunctionsMemcachedRedisXCache APIsWinCache Functions
標簽: PHP
相關文章:
主站蜘蛛池模板: 开原市| 新河县| 霍城县| 慈利县| 江城| 吉隆县| 兴仁县| 巴里| 五台县| 石嘴山市| 吴江市| 漠河县| 台山市| 瑞金市| 固阳县| 扎囊县| 象山县| 襄垣县| 德化县| 沙雅县| 抚顺县| 西林县| 忻州市| 徐州市| 上高县| 安义县| 旬邑县| 武川县| 牡丹江市| 梓潼县| 曲靖市| 英超| 同心县| 乐都县| 奉节县| 贵州省| 德化县| 突泉县| 志丹县| 富阳市| 治多县|