我的Google-fu还没有透露我正在寻找的东西,所以我把它放到人群中.
来自ASP.NET开发背景,我习惯于让我可以使用Application和Cache集合来存储很少修改但经常使用的资源(例如来自数据库的查找行或静态XML文档的内容) Web服务器的内存,所以我不必在每个请求期间重新加载这些常用的项目.
PHP有同等效力吗?我已经简要介绍了memcache扩展,但这对我不起作用(因为我无法控制服务器配置.)我很想实现一些可以让我预先解析或预先实现的功能 – 选择资源并生成一种PHP缓存“文件”,它将从存储在文件中的文字构造缓存对象,但这对我来说似乎是一个非常hacky的解决方案.
PHP中有什么东西(或者某种类型的帮助库)可以让我使用最佳实践来实现这一目标吗?
简而言之,不,这样的东西在PHP中本身不可用.要理解原因,您必须了解PHP已为每个请求构建了整个环境,并且随后在请求结束时将其拆除. PHP确实为每个会话变量提供$_SESSION存储,但是在深入研究文档后,您将看到该变量也是在每个请求中构建的. PHP(或更具体的mod PHP)与其他“应用程序服务器”根本不同.基本上,它不是应用程序服务器.这是一个每个请求脚本运行程序.
现在,不要误解我的意思,PHP允许你做应用程序级数据存储,但你必须去数据库,或者去磁盘才能获得它.但要记住这一点,在表明性能是一个问题之前,不要担心优化性能.我会猜测,在100次中有99次,当时性能是一个问题,而不是由于你编写的一些糟糕的代码,你将拥有构建自己的小memcached服务器的资源.