微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CakePHP建议迭代一个巨大的表并生成一个站点地图?

我正在尝试使用Cake PHP创建一个XML站点地图,该表目前有超过50,000条记录,每条记录等同于站点地图中的URI.现在我面临的问题是CakePHP生成它时会让我失去内存,原因有两个:

> 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.jb51.cc/php/133042.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐