处理php中的大数组

时间:2010-11-25 11:55:17

标签: php arrays size limit

在我正在开发的应用程序中,我需要从varoius源(mysql数据库,Facebook和未来的其他社交网络)获取信息,并加入所有相同的结构,

我现在正在做的是从我的数据库和从数据库获取数据,然后使用array_merge连接两个数组,然后迭代该数组并创建一个使用我想要的字段格式化的自定义数组。

结构本身正在工作,但我担心随着我的应用程序和相关的Facebook页面的帖子数量越来越多,我的应用程序将变得非常慢。 我当时只显示10条记录(使用array_slice)但在此之前我总是需要获取所有数据,因为它来自不同格式的不同来源,我没有看到任何方法来限制从每次通话。

任何提示?

3 个答案:

答案 0 :(得分:2)

每次通话的数据是否具体?您可以预处理数据,例如在第一个请求获取数据并将其存储在临时表中,这样下一个请求就可以从表中加载。您可以定义刷新率,并在刷新率时间过后执行完全重新加载。此外,如果您可以访问像cron作业这样的东西,它们可能是您正在寻找的解决方案。

答案 1 :(得分:1)

我会做一些单元测试和全局测试,试图找出不断增长的数组是否确实存在问题。

如果是,我想我会将应用程序分为两部分,一部分获取数据并将其解析为两种正确的格式,另一部分使用数据并向用户显示10条记录,您可以进行背景例如,用于数据处理的Python和用于用户可视化的PHP前端。

HTH问候。

答案 2 :(得分:0)

不要将所有数据加载到内存中。使用mySQL的LIMIT和数据库包装器的fetch_row方法来减少需要加载到脚本内存中的记录数。

相关问题