我正在尝试创建一个Cron作业后台进程,为数据库中的每个注册用户生成内容。
现在,我正在尝试获取一个包含该过程基本设置的MySQL表。我希望将整个事情放在一个,因为它包含了该过程中涉及的所有用户的设置。此外,该网站拥有超过250K的用户,因此为每个用户循环流程(获取250K次单独的用户数据)将成为性能杀手。
我使用PDO并使用fetch()
在50K行页面中按LIMIT
检索数据行。我收到此错误
允许的内存大小为134217728个字节(用于分配32个字节)
每当我尝试将行数据保存到数组并且超出脚本内存限制~134Mb时。
每个人都建议使用ini_set()
将允许的内存限制增加到更高的数字,但这只能解决更大问题的症状。
理论上 - 如果在一段时间内注册的用户数增加到服务器内存不能支持我的运行脚本和大量同时用户连接的情况会怎样?
这就是为什么我想在允许的内存限制中执行我的脚本。 执行时间不是一个因素,它每个月只执行一次左右。此外,这是一个后台进程,因此无需担心响应超时。
如何为所有设置创建临时文件以减轻部分内存?
还有什么想法?