Ale*_*x J 6 php sitemap performance cakephp
我正在尝试使用CakePHP创建一个XML站点地图,该表目前有超过50,000条记录,每条记录等同于站点地图中的URI.现在我面临的问题是CakePHP在生成它时会让我失去内存,原因有两个:
find('all')正在构建整个50,000个URI的巨大关联数组.$this->set()调用的视图- 这也是巨大的,包含50,000个索引.是否有可能在遵循MVC和CakePHP指南的同时做到这一点?
您确定要耗尽 50.000 条记录的内存吗?即使一行大小为 1K(相当大),您也必须处理 ~ 50 MB 的数据?我的 P1 有足够的 RAM 来处理这个问题。将 php.ini 中的 memory_limit 设置为高于默认值。(还要考虑调整 max_execution_time。)
另一方面,如果您认为数据集太大并且处理它过于占用资源,那么您不应该动态地提供该页面,它是完美的 DDoS 诱饵。(至少我会大量缓存它。)您可以安排一个 cron 作业,通过服务器端脚本每 X 小时重新生成一次页面,从而避免了一次性向视图提供所有数据的 MVC 惩罚,它可以在按顺序排列。
| 归档时间: |
|
| 查看次数: |
3584 次 |
| 最近记录: |