0
我有一個相當概念化的問題,關於處理大量數據的API。Php - Symfony2 - Rest API - 巨大的數據
我有兩個web應用程序運行:
- 系統A,其作用就像一個源
- 系統B,其爲在目標系統
兩者都使用的RESTful API與每個通信其他。
現在它涉及到從發送的數據(大約1萬行)的鉅額B.
我的概念是選擇數據庫中的所有數據,並創建即一個主陣100萬子陣。通過主陣列下一步迭代讓每一個單列,並將其發送特定行的請求後到系統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.刪除
我的問題是:
這是在正確的方式去? 我應該考慮像並行處理/多線程這樣的概念嗎?
感謝您的回答,第一:如何使用偏移量和限制,我如何獲得所有數據?第二:我不明白如何從系統B刪除行,如果他們不存在系統A? –
第一個: 您必須指定您的限制,並在循環中執行查詢。 第一個用於偏移0和極限,下一個用於偏移0 +限制+ 1和限制等 第二:您可以執行刪除查詢,其中id不在您的id列表中。 向我們提供有關您業務邏輯的更多信息總是很棒的。也許我們可以簡化你的問題。 –