現在、Laravel を使用して小さなアプリケーションを作成しており、ダッシュボードに天気を表示したいと考えています。そのために、Forecast.io API にアクセスする Composer パッケージを使用します。ただし、その API には 1 日あたりの無料呼び出しのレート制限があるため、Laravel 機能を使用してデータをキャッシュし、数分ごとに更新したいと考えています。
そのためには、次の 2 つの方法が考えられます。
- ポーリングの前にデータのキャッシュをチェックし、キャッシュ データが x 分後に期限切れになるようにするカスタム クラスを作成します。
- キャッシュ内の気象データを定期的に更新するだけの cronjob を Laravel で作成します。
私の観点からは、キャッシュが空になっても常にデータを利用できることが保証されるため、最初のオプションの方が優れているようです。それとは別に、それはただきれいに見えます。
問題は次のとおりです。Laravelでそのようなクラスを実装する方法がわからず、公式ドキュメントにも何も見つかりませんでした。私の願いは、データを提供する Facade を呼び出すだけで、残りはバックグラウンドで処理されることです。そのような Facade をどこに配置し、どのようにセットアップするかを知る必要があるだけです。
よろしく、
ヘイコ