如何缓存某些模块/控制器/操作的整个HTML输出?

时间:2010-12-16 07:35:32

标签: php zend-framework

编辑:我说的是ZF应用程序,所以缓存应该是Zend_Cache。

确定。我的应用程序中有一些页面很少变化。我想缓存整个HTML输出,所以我不需要在那里进行任何PHP处理。有可能吗?

另外,另一个问题。如果页面上有表格。我希望第一次从缓存中获取整个页面,但如果用户提交表单,请不要再使用缓存,而是处理PHP。

这有可能吗?

我正试图在此期间找到一些简单的方法来做到这一点。

4 个答案:

答案 0 :(得分:3)

使用Zend_Cache_Frontend_Page如果您查看此page,他们会解释如何设置并使用它。关于排除表单等动态内容,该功能允许您选择缓存或不缓存的页面,所以稍微调整就可以了。

答案 1 :(得分:1)

这通常被称为“输出缓存”。

以下是有关该技术的资料性文章:http://www.devshed.com/c/a/PHP/Output-Caching-with-PHP/

答案 2 :(得分:1)

除了已发布的答案,您还可以使用APC。 APC (Alternative PHP Cache)通常也用于通过缓存字节代码来提高性能。

答案 3 :(得分:1)

如果您不想要PHP处理(静态文件),则必须使用Zend_Cache_Frontend_Capture和Zend_Cache_Backend_Static:http://framework.zend.com/manual/en/zend.cache.backends.html

但是,它不适用于表单。在这种情况下,您必须使用Zend_Cache_Frontend_Page。当$ _POST数组中存在一些变量时,默认情况下此前端不使用缓存(缺省情况下,选项cache_with_post_variables为false)。

相关问题