如何在Cakephp中将特定缓存元素保存2小时而不是10分钟?

时间:2011-08-21 11:40:54

标签: cakephp

我注意到我在Cakephp的网站非常慢。我在Cakephp中重写了我的整个网站,具有完全相同的功能,并且需要400毫秒来生成每个页面而不是20毫秒。 400毫秒远离我希望达到的50-100ms的时间。网站速度对我来说非常重要,这也是我不再了解Drupal的原因之一。

当我自己编写所有SQL查询并使用简单的程序时,无需进行太多优化。我现在必须开始优化代码。

所有页面都会在一个块中显示已发布的用户,新闻帖,文章和其他一些内容。这需要9个SQL查询,似乎带走了一些性能。这就是我想要使用缓存的方法。

目前我的网站没有那么多的访问者,我主要是重建它以成为一个更好的网络开发者,高分析时间让我失望。我将完全删除Croogo,只能使用自编代码。我已经偶然发现了Croogo的许多可怕性能下降的部分。

我想通过cronjob每小时将所有这9个查询结果保存在缓存中。我想运行一个cronjob与9个查询,将结果保存在缓存中。我的问题是如何在缓存中保存更长的数据?它通常会保存数据10分钟,但我想将这些特定数据保存150分钟并每2小时运行一次cronjob。我知道它可以通过core.php完成,但我不想将所有内容缓存150分钟,只需要在www.daweb.nl最左边的块的统计数据。

Statistieken
Artikelen:
LEDEN:
Javascripts:29
Nieuwsberichten:4
节点:16
PHP脚本:

成员,文章,PHP脚本为空,这意味着没有人访问过生成相关数据的页面。我可以用很多if(有缓存)和else(生成缓存)来制作一长串代码,但这也不会让事情变得更漂亮。此外,我不知道在哪里放置该代码。我不打算在app_controller.php中编写大量的代码,对网站不利。

1 个答案:

答案 0 :(得分:1)

如果站点速度对您很重要(超过Cake必须提供的那些自动化),那么您可能希望查看CodeIgniter。

无论如何,这里是如何设置元素的缓存设置:http://book.cakephp.org/view/1083/Caching-Elements