有没有办法在 Restful API 调用中分块数百万条记录?
我正在为客户端使用 Angular.JS / Ionic,并且有一个安静的 API,可以很好地处理大约 10,000 条记录。但是我的数据库有几百万条记录,如果我调用 api 来显示所有记录,它会返回 http 响应代码 500。我想提取所有数据的原因是用户可以使用 ng-model= 搜索匹配的产品“询问”。在客户端上只会显示 100 条精选记录。我查看了 Laravel 文档,它建议对数据进行分块。我尝试了以下代码,但收到 500 http 响应代码错误。我使用 mysql 作为数据库。最终我将构建一个 redis 缓存,但首先我需要能够获取所有结果。
$productlist = DB::table('productlist')->chunk(1000, $products) { foreach ($products as $product) {
$productlist = array_merge($products, $product);
}
});
return $productlist;