提问人:Pekka 提问时间:11/12/2009 最后编辑:Pekka 更新时间:11/12/2009 访问量:1080
PHP的缓存XML?
Cached XML for PHP?
问:
我有一个自定义的PHP框架,并且正在发现将配置设置存储为人类可读的简单XML的乐趣。
我很想介绍XML(非常简单的XML,像这样)
<mainmenu>
<button action="back" label="Back"/>
<button action="new" label="New item"/>
</mainmenu>
在框架中的许多地方。阅读、维护和扩展要有趣得多。到目前为止,配置是使用
name=value;name=value;name=value;
对、数组、变量集合等。
但是,我担心框架的性能。虽然单个 XML 操作在分析中几乎为零,但它们当然比对大字符串的简单 explode() 更昂贵。每次用户加载页面时,simpleXML(我选择的库)都会对十几个XML块进行完整的格式检查,这让我感到不舒服。
我可以自己缓存XML对象,但想要 1.)避免麻烦和 2.)不会增加框架的复杂性。
因此,我正在寻找一种不显眼的 XML“缓存”解决方案。完美的做法是可以提供文件路径并返回解析的 simpleXML 对象的函数。在内部,它使用序列化的 simpleXML 对象或其他对象在某处维护缓存。
有人知道这样做的工具吗?
请不要使用依赖于扩展的解决方案,因为该框架旨在在共享的网络托管环境中运行(这就是性能很重要的原因)。
答:
0赞
user207675
11/12/2009
#1
嗨,我正在使用 Zend Cache 来做这些事情,必须说它非常快,从大约 2 秒到 0.5 秒下降了一页。
1赞
Residuum
11/12/2009
#2
您可以将 XML 转换为以前的格式一次,然后通过 检查 XML 和文本文件的修改时间。如果 XML 比文本文件新,则再次执行转换。filemtime
这在某种程度上会增加复杂性,但另一方面会帮助你重用现有代码。当然,缓存是另一个可行的选择。
评论