我目前正在开发一个负载很重的网站,以及一定数量的数据。
超过40000篇文章,300,000条评论,3,000,000票。
有些数据需要是实时的,例如文章的投票,文章的评论,而其他数据可能会被推迟,例如每周热门文章(基于投票)或主页上的最新文章。
我正在使用Doctrine 2,可以设置缓存驱动程序,但基本配置将适用于所有数据,例如生命周期。
我的问题是,首先,你在哪里设置缓存?
我正在使用类似SOA的应用程序,然后我有ArticleController,ArticleService和ArticleRepository。
其次,我是否需要根据实时约束和估计的流量/更新频率手动为每个数据进行设置?
谢谢。
答案 0 :(得分:1)
您可以在application.ini或Bootstrap.php中设置缓存。我认为application.ini更容易。
在ZF中,您可以从少量缓存前端(存储内容)和后端(如何存储)数据中进行选择。通常,在一个ZF Web应用程序中,您使用它们的混合(特别是前端),因为它们具有不同的属性或用途。例如,每当修改配置文件时,都会自动清除可用于缓存配置文件的文件前端。因此,决定缓存内容和缓存时间以及何时清除缓存等是您设计过程的一部分。
答案 1 :(得分:0)
Bootstrap.php是设置缓存并注册它们的地方。看起来你需要将缓存清晰度,评论和投票分开。然后,每个缓存都可以拥有自己的视图和数据库查询的重载超时。 Goodluck并阅读Zend_Cache
答案 2 :(得分:0)
如果您将Zend_Cache添加到application.ini或bootstrap.php,那么您的目的是使用所有HTML页面缓存整个网站。但是,您可以通过许多不同的方式使用Zend_Cache。您可以使用它来捕获数据库查询等等。我在一个动作控制器中设置了Zend_Cache,并且可以成功捕获整个HTML页面,仅用于该特定动作。