前端之家收集整理的这篇文章主要介绍了
CakePHP建议迭代一个巨大的表并生成一个站点地图?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Cake
PHP创建一个XML
站点地图,该表目前有超过50,000条记录,每条记录等同于
站点地图中的URI.现在我面临的问题是Cake
PHP在
生成它时会让我失去内存,原因有两个:
> find(‘all’)正在构建整个50,000 URI的巨大关联数组.
>因为我不想从控制器本身输出HTML,所以我将包含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惩罚,即一次性将所有数据提供给视图,它可以顺序处理行.
原文链接:https://www.f2er.com/php/133042.html