可以使用APC进行整页缓存吗? (CakePHP的)

时间:2013-05-06 07:37:23

标签: cakephp apc page-caching

我的网站使用整页缓存进行缓存。因此,对于每个页面都会创建一个html文件。

当我使用CakePHP时,我可以定义将使用APC缓存而不是文件缓存。但是,如果这样做,仍然正在创建html文件(正确安装了APC)。

所以问题:使用APC进行全页面缓存有什么逻辑吗?它有什么好处吗?是否可以将缓存的html文件以某种方式放入RAM并在需要时从那里读取?

P.S。我不是在谈论APC操作码缓存功能。只是数据缓存。

1 个答案:

答案 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。感谢。