Php 此浏览器缓存系统是否存在任何问题?

Php 此浏览器缓存系统是否存在任何问题?,php,Php,我有一个应用程序类型的网站,有几个长的列表页面(比如按国家分组的公司列表),需要几秒钟才能建立,但不会经常更改。我在某种程度上使用了APC和Memcache,但我也想到了“为什么它会攻击服务器”,所以我设计了这个: ob_start(); require_once '../bootstrap.inc.php'; request_router(); // MVC style system, all work starts here header("Expires: " . gmdate("D,

我有一个应用程序类型的网站,有几个长的列表页面(比如按国家分组的公司列表),需要几秒钟才能建立,但不会经常更改。我在某种程度上使用了APC和Memcache,但我也想到了“为什么它会攻击服务器”,所以我设计了这个:

ob_start();
require_once '../bootstrap.inc.php'; request_router(); // MVC style system, all work starts here

header("Expires: " . gmdate("D, d M Y H:i:s",time()+300) . " GMT"); // 5 minutes
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: private");
header("Pragma: private");
echo ob_get_clean();
我只是想把它设置好,这样当他们进入一个大的列表时,它就会被构建,但是当他们点击一个链接,然后点击另一个链接返回列表时,它不会每次都检查重建列表

在我尝试实施之前发现任何缺陷吗


(仅供参考,我曾尝试在apache中使用
ExpiresActive
来实现这一点,但我无法让它工作;不过,这对我来说似乎更容易,而且在一个让我更容易控制Expires头的地方)

看不出有任何问题


如果您想要更大的灵活性,那么您可以将为获得到期时间而添加的值设置为一个变量,该变量可以在MVC代码的其他地方设置,但如果未设置,则默认为300。这样,您就可以为不同的页面设置不同的过期时间,甚至为不需要缓存的页面设置负值。

好主意。实际上,我只需要/想要在几页上使用它,并且我正在考虑只为那些页面设置它,而不向控制器添加更多代码的方法。你的就是解决办法。谢谢