PHP缓存问题

PHP缓存问题,php,Php,我最近在.NET上做了一个项目,部分代码涉及从预定义格式读取页眉和页脚,以便在同一客户机共享的不同网站之间保持一致性 我在php中遇到了类似的问题。我使用以下方法获取页眉/页脚链接的内容: <?php $contents = file_get_contents('http://www.mysite.com/common/footer.asp'); echo $contents; ?> 有没有办法将其加载到缓存中,以避免重复调用 干杯如果扩展可用,您可以使用APC的缓存: $co

我最近在.NET上做了一个项目,部分代码涉及从预定义格式读取页眉和页脚,以便在同一客户机共享的不同网站之间保持一致性

我在php中遇到了类似的问题。我使用以下方法获取页眉/页脚链接的内容:

<?php
$contents = file_get_contents('http://www.mysite.com/common/footer.asp');
echo $contents;
?>

有没有办法将其加载到缓存中,以避免重复调用


干杯

如果扩展可用,您可以使用APC的缓存:

$contents = apc_fetch('footer');
if (!$contents) {
    $contents = file_get_contents('http://www.mysite.com/common/footer.asp');
    apc_store('footer', $contents);
}

如果您希望在不同的机器上使用相同的缓存,或者没有可用的APC,则可以以非常类似的方式使用memcached。

如果您希望在多个页面加载上进行缓存,则可以使用会话

session_start();
$_SESSION['somekey'] = value;

或者放入持久性存储中,如,或。

我这样做是为了减少读取/写入XML文件的I/o。这是一个非常好的解决方案。我在dreamhost上使用共享主机环境。我不确定他们是否安装了APC或memcache。我知道我必须安装这些以及一些扩展,然后重新启动apache。这看起来不像他们会做的事情。@kenyana你可以用
phpinfo()轻松检查如果他们不使用APC,您可以随时请求将其移动到有APC的框中。那边的人很随和。你没有,因为你不问!