私の問題はここでは非常に単純です。さまざまなAPIから大量のcsvファイルを取得し、それらをデータベース(MySQL)に保存して、ユーザーに表示するphpスクリプトがあります。重要なデータを取得するには、3分ごとにこれらのAPIをクエリする必要があります。最後のデータのみが使用され、履歴データを取得する必要はありません。
私の懸念は、ページを表示する人がいない場合に、これらのAPIにクエリを実行したり、データベースに大量のデータを挿入したりしないようにすることです。
レート制限の問題ではなく、無駄なリクエストやデータベースへの挿入を減らすことを考えているだけです。
私の質問は次のとおりです。
- 3分ごとにcronジョブを使用してデータを取得し、保存する方がよいですか、または
- ページが読み込まれ、最後の更新から3分が経過した場合は、phpスクリプトを実行しますか?
最初の状況では、すべてのユーザーが最後の値を持ち、誰もそれらを見ることができない場合でも、データは常に取得されます。
2番目の状況では、3分ごとに1人のユーザーがすべてのデータを取得します(したがって、彼のページの読み込みは他のユーザーよりも少し遅くなります)が、誰もサイトにアクセスしていない場合、無駄なデータは保存されません。
注:
データの取得と挿入には約10秒かかります。
あなたの洞察に感謝します!