gpt4 book ai didi

php - 通过 API 获取数百万条记录

转载 作者:行者123 更新时间:2023-11-30 22:35:36 24 4
gpt4 key购买 nike

我有一个从我的应用程序通过 cURL 传递 POST 变量到我的其他应用程序的 API 调用,如下所示:

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $paramString,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 600,
CURLOPT_CONNECTTIMEOUT => 60,
));

在这个 $url 应用程序中,我尝试从一个表中获取 2000 万条记录,然后通过 JSON 传递它,就像这样:

public function apiMethod()
{
$response = $this -> _db -> fetchAll('SELECT t.hash FROM table t WHERE id BETWEEN 20000000 AND 40000000;');
echo json_encode($response);
}

当然是使用 PDO。

好的,这有两个问题:1. FetchAll() 对这么多记录不起作用 - 内存超出。2. Json 不适用于这么多记录 - json 有最大大小。

我一直在考虑多次调用 cURL 并每次都获取比方说 100,000 条记录,而不是获取所有记录。这是唯一的方法吗?最好的方法是什么?

最佳答案

您的主要问题是架构。

显然,最好的方法是拥有一个需要在每次调用时传输无数行的 API。

要么实现一种只检索一行的方法,这适用于 API,要么重新考虑整个架构。比如,磁盘复制或数据库复制等。

关于php - 通过 API 获取数百万条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com