Php - Symfony2 - Rest api - 庞大的数据

时间:2015-11-19 20:34:27

标签: php multithreading api rest symfony

我有一个关于使用处理大量数据的API的概念性问题。

我有两个正在运行的Web应用程序:

  • 系统A,其作用类似于源
  • 系统B,即目标系统

都使用RESTful API相互通信。

现在要从A到B发送大量数据(大约100万行)。

我的想法是从数据库中选择所有数据,即创建一个包含100万个子阵列的主阵列。接下来遍历主数组以获取每一行,并将此特定行作为Post-Request发送到系统B.

代码示例:

$data = $sql-to-get-all-data;
$mainArray = $data->fetchAll();

foreach ($mainArray as $subArray) {

    $row = $subArray;

    // create post request and send $row to System B

}

接下来,我需要检查系统B中是否已存在该行。如果存在,则发送更新请求而不是后请求。 另外......如果系统B中存在一行但系统A中不存在,则应将其从系统A中删除。

我的问题是:

这是正确的选择吗? 我应该考虑并行处理/多线程等概念吗?

1 个答案:

答案 0 :(得分:1)

您应该在db查询中使用offset和limit。将整个数据集存储在PHP数组中是一个非常糟糕的主意。

您可以批量发送子集并在响应中返回ID列表(添加/更新/删除)。