我的网站使用整页缓存进行缓存。因此,对于每个页面都会创建一个html文件。
当我使用CakePHP时,我可以定义将使用APC缓存而不是文件缓存。但是,如果这样做,仍然正在创建html文件(正确安装了APC)。
所以问题:使用APC进行全页面缓存有什么逻辑吗?它有什么好处吗?是否可以将缓存的html文件以某种方式放入RAM并在需要时从那里读取?
P.S。我不是在谈论APC操作码缓存功能。只是数据缓存。
答案 0 :(得分:1)
是的,您可以使用CakePHP中的APC缓存引擎将整个HTML视图文件缓存到缓存中。 Cake的 CacheHelper 将为您完成这项工作。假设您有一个 PostsController ,并且您希望缓存与此控制器相关的所有视图文件。在这种情况下,首先必须在控制器中定义以下代码。
class PostsController extends AppController {
public $helpers = array('Cache');
}
在 bootstrap.php 文件中,您必须添加 CacheDispatcher 。
Configure::write('Dispatcher.filters', array(
'CacheDispatcher'
)
);
现在再次在 PostsController 中,您必须告诉缓存文件。
public $cacheAction = array(
'view' => 36000,
'index' => 48000
);
这会将视图操作缓存10个小时,将索引操作缓存13个小时。
我认为从现在开始,您可以将整个HTML缓存视图文件提供给访问者,而无需在服务器中使用PHP或Cake。感谢。