在PHP中处理
问题描述:
在我正在开发我需要从varoius来源的信息(mysql数据库,Facebook和未来其他社交网络)应用的大阵列,并加入所有相同的结构,在PHP中处理
我我现在正在做的是从我的数据库和facebook的数组中获取数据,然后使用array_merge来加入这两个数组,然后迭代该数组,并创建一个用我想要的字段格式化的自定义数组。
strucutre本身正在工作,但我担心随着越来越多的帖子进入我的应用程序和相关的Facebook页面将使我的应用程序真的很慢。 我只在当时显示10条记录(使用array_slice),但在此之前我总是需要获取所有数据,并且因为它来自不同格式的不同来源,我没有看到任何方式来限制返回的数据量从每个电话。
任何提示?
答
我会做一些单元测试和全局测试,试图找出增长的数组是否确实是一个问题。
如果他们是,我想我会分两个部分的应用程序,一个获取数据和解析它两个正确的格式和另一个使用数据并显示10条记录给用户,你可以做一个背景应用程序,例如用于数据处理的Python以及用于用户可视化的PHP前端。
HTH方面。
答
请勿将所有数据加载到内存中。使用mySQL的LIMIT
和数据库包装器的fetch_row
方法来减少需要加载到脚本内存中的记录数量。
答
每次调用数据是否具体?您可以对数据进行预处理,例如在第一次请求时获取它并将其存储在临时表中,这样下一个请求可以从表中加载。您可以定义刷新率,并在刷新率时间过后进行完全重新加载。此外,如果您有权访问诸如cron作业之类的内容,那么他们可能就是您正在寻找的解决方案。
有多大?你有没有分析你的应用程序,看看是否真的存在性能问题?另外,为什么你必须在创建最终结构之前合并数组。为什么你不能只是在获取它们的时候将各种数据源推送到目标结构中?没有足够的关于您的设置的信息来提供除了随机tipps之外的任何内容。 – Gordon 2010-11-25 12:02:05