0
我正在使用第三方API来使用卷曲调用的飞行数据。 (API调用不是免费的)调用外部API一次并缓存它
当多个用户同时对同一个航班提出同一请求时,它会调用外部API多次,因为它需要一些时间才能使curl调用解析数据,然后插入到数据库中。 所以所有的请求都检查数据库,意识到它不在那里,并开始调用外部API。完成后,它意识到它已经有飞行数据并停止进行数据库插入调用。
如何使用最佳实践来防止此问题?
$flightnum = $_POST['flightnum'];
if (isFlightInDB($flightnum))
return json_encode (getFlightFromDb ($flightnum));
else {
$flight = callFlightApiAndCache($flightnum);
return json_encode($flight);
}
你可以先搜索用户请求'DB'若发现则显示结果,否则打电话给你的api – urfusion
你不读我的问题,它是关于多个请求和时间 – Mazzy
对不起。我的坏.. – urfusion