PHP有許多操作碼緩存,據我所知它是處理應用程序緩存方面的腳本。是否有類似的經典ASP,特別是不需要組件安裝的東西?是否有經典的ASP的緩存腳本?
關於IIS緩存行爲,從閱讀here看來,這種行爲與某種預編譯步驟相關,而非完成頁面。請糾正我,如果我錯了
PHP有許多操作碼緩存,據我所知它是處理應用程序緩存方面的腳本。是否有類似的經典ASP,特別是不需要組件安裝的東西?是否有經典的ASP的緩存腳本?
關於IIS緩存行爲,從閱讀here看來,這種行爲與某種預編譯步驟相關,而非完成頁面。請糾正我,如果我錯了
看看你的評論到目前爲止的答案,在你的編輯你的問題你似乎有點困惑緩存。
有兩種類型的緩存我們可以談論。
操作碼或模板緩存是,發生緩存當原始腳本文件,其僅是一個文本文件被轉換爲在存儲器可以由腳本引擎執行的一組操作碼。 PHP有一些額外的工具,允許在隨後請求腳本文件時重新使用這樣一組操作碼。同樣,ASP在內存和磁盤上保留了「編譯」操作碼的緩存,這樣它就可以爲相同腳本的後續請求提供服務,而無需再次通過整個解析過程。
輸出緩存是發送到響應緩衝區的腳本的生成輸出被緩存,以便後續請求相同的URL(以及可能匹配其他頭文件)根本不會重新運行腳本但重新發送以前緩存的輸出。
ASP具有輸出緩存,而ASP.NET確實沒有設施。我對PHP或其普通平臺不夠熟悉,無法評論這種設施是否可用。
您可以在IIS管理器(IIS6)中配置ASP的「操作碼」緩存(它稱爲模板緩存),打開網站節點上的屬性窗口轉到主目錄選項卡,然後單擊配置...然後選擇緩存選項標籤。默認情況下,500'編譯'頁面將被緩存在內存中,2000將被緩存在磁盤上。
在我原來的這個答案的版本評論你似乎詢問是否PHP通過IIS託管也將從模板緩存中受益。這將取決於如何將PHP添加到平臺。
我幾乎不知道PHP的任何內容,但我會想象它只是IIS腳本映射將文件與擴展PHP映射到另一個DLL。那樣的話,它不會從ASP模板緩存中受益。
以下是大概小說只是試圖讓這個圖片: -
另一個不太方法可行是,如果PHP是一些如何加入ASP腳本語言。在這種情況下,帶有PHP擴展名的文件將被映射到ASP.DLL,並且這些文件將包含<%@ language =「PHP」,或者應用程序配置中的默認語言將被設置爲PHP。在這個不太可能的設置中,ASP會構建一個可以緩存的模板,但是無論該模板是否包含「已編譯」的操作碼等,都將由PHP提供。
這取決於你的意思是「緩存」。
在IIS 6.0中有模板緩存,described here(MS Windows 2003的技術中心):
「ASP處理包含ASP腳本的模板或模板文件ASP將這些模板,在模板緩存,然後服務於高速緩存的模板用於隨後的客戶請求緩存ASP模板增強了性能和可伸縮性,因爲每次調用緩存模板時都不會進行編譯。
你可以找到其他distinctions of caching here。
數據緩存的簡單機制,提出在這篇文章中關於Improving ASP Performance With Data Caching:
「不幸的是沒有內置的緩存系統在傳統的ASP,但它很容易通過使用Application對象存儲建立一個數據,因此,本文中描述的技術可用於爲遺留網站帶來有用的性能增強,其中升級數據庫或將代碼移植到ASP.NET並不是一個可行的選擇。「
問題_does_定義緩存的含義,操作碼緩存,與ASP所執行的模板緩存等效的內容。 – AnthonyWJones 2008-10-04 16:30:15
也許這門課幫你緩存一些東西。
http://www.webdevbros.net/2006/11/18/cache-object-for-classic-asp/
它不需要任何安裝的組件,並使用該應用程序對象作爲存儲。因此,所有訪問者都使用相同的緩存。您可以將其用於如下場景:例如:緩存重型SQL查詢,...
感謝您的評論。這是一種行爲限於asp或IIS是否對任何類型的網頁(例如PHP)執行此操作?此外,這個緩存可能是基於每個用戶(操作碼+會話)?我已經使用了很多IIS,並沒有看到op-caching行爲的跡象。你有任何鏈接描述它? – 2008-10-06 20:45:11