2009-11-12 60 views
0

我有一個自定義的PHP框架,並發現將配置設置存儲爲可讀的簡單XML的樂趣。用於PHP的緩存XML?

我很動心引入XML(真正簡單的XML,像這樣)

<mainmenu> 
<button action="back" label="Back"/> 
<button action="new" label="New item"/> 
</mainmenu> 
在多個框架中的地方

。閱讀,維護和擴展只是非常有趣。到目前爲止,配置使用

name=value;name=value;name=value; 

對,數組,變量的集合,等等。

但是,我擔心框架的性能。雖然單個XML操作在分析中幾乎沒有任何問題,但它們當然比大字符串上的簡單爆炸()更昂貴。我對simpleXML(我選擇的庫)感到不自在,每次用戶加載頁面時都會對十幾個XML塊進行完整的格式檢查。

我可以自己緩存XML對象,但希望1.)避免麻煩和2.)不會增加框架的複雜性。

因此,我正在尋找一種不顯眼的XML「緩存」解決方案。完美的東西將是一個函數,我可以給一個文件路徑,並返回一個解析的simpleXML對象。在內部,它使用序列化的simpleXML對象或任何其他地方維護緩存。

有沒有人知道這樣做的工具?

請不要依賴於擴展的解決方案,因爲該框架旨在運行在共享WebHosting環境中(這是性能很重要的原因)。

回答

1

您可以將XML轉換爲以前的格式,然後通過filemtime檢查XML和文本文件的修改時間。如果XML比文本文件更新,則再次進行轉換。

這會增加複雜性,但另一方面可以幫助您重複使用現有的代碼。當然,緩存是另一個可行的選擇。

0

嗨,我在使用Zend Cache來處理那些事情,並且必須說它非常快速地從大約2secs到0.5secs下來了一頁。