我有我的网站缓存使用整页缓存。因此,每个页面都会创建一个html文件。整个页面缓存与APC可能吗? (CakePHP)
由于我使用CakePHP,我可以定义使用APC缓存而不是文件缓存。但是,如果这样做,HTML文件仍在创建(APC安装正确)。
所以问题:是否有使用APC全页面缓存的任何逻辑?它有什么好处?是否有可能将缓存的HTML文件以某种方式放入RAM并在需要时从那里读取?
P.S.我不是在谈论APC操作码缓存功能。只是数据缓存。
我有我的网站缓存使用整页缓存。因此,每个页面都会创建一个html文件。整个页面缓存与APC可能吗? (CakePHP)
由于我使用CakePHP,我可以定义使用APC缓存而不是文件缓存。但是,如果这样做,HTML文件仍在创建(APC安装正确)。
所以问题:是否有使用APC全页面缓存的任何逻辑?它有什么好处?是否有可能将缓存的HTML文件以某种方式放入RAM并在需要时从那里读取?
P.S.我不是在谈论APC操作码缓存功能。只是数据缓存。
是的,您可以使用CakePHP中的APC缓存引擎将整个HTML视图文件缓存到缓存中。 蛋糕的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小时,index操作13小时。
我认为从现在开始,您可以将整个HTML缓存视图文件提供给访问者,而不必在您的服务器中访问PHP或Cake。谢谢。
实际上CakePHP不会缓存APC中的视图。它将视图缓存为'app/tmp/cache/views /'中的文件。 APC仅用于缓存模型,数据... [查看CacheDispacher如何工作](https://github.com/cakephp/cakephp/blob/master/lib/Cake/Routing/Filter/CacheDispatcher.php#L60)。 – iDev247 2013-11-01 05:00:33