ルートに到達するたびに大規模なデータセットの計算を待つのは大変です。そして、ユーザーは待ちたくありません。最近では誰もが保持期間を短くしています。そのため、私たちは何年も前にキャッシュを使用してこの問題を修正しました。 Laravel にはデータのキャッシュに役立つ Cache Fascad があり、有効期限が切れるまでの一定期間データをキャッシュする優れた方法である Cache::remember() を使用しています。
しかし、最近のイベントで、Laravel は Cache Fascad の「フレキシブル」と呼ばれる新しい機能を発表しました。バックグラウンドでlaravelの新しいdefer()関数を使用します。
Cache::flexible() は、すでによく知られている Cache::remember() に非常に似ており、コードの変更はほとんどありませんが、パフォーマンスに大きな影響を与えます。 Cache::remember().
とは異なり、時間に 1 つの値ではなく 2 つの値を指定します。
Cache::flexible() の時間枠として 5 と 10 を渡す場合、ユーザーが最初にルートをヒットまたは訪問したとき、ユーザーは値がキャッシュされるまで待機する必要があり、5 秒以内にルートをヒットし続けるときは、ユーザーは値がキャッシュされるまで待機する必要があります。その後、 Cache::remember() と同じようにキャッシュされた値を返すだけです。しかし、ここが興味深い部分です。ユーザーが(指定したように)5 ~ 10 秒の時間枠内でルートに到達した場合、Laravel は引き続きその時間枠内の最初の訪問に対してキャッシュされた値を提供し、値を再度キャッシュするためにバックグラウンド ワーカーを開始します。そして、ユーザーがルートに再度アクセスすると、更新データを取得しますが、今回は Cache::remember().
これは一部の人にとっては理解するのが難しいかもしれません。私がこれについてより深く、実際の例とともに書いたこの記事を読むことをお勧めします: https://laraveleco.com/cache-flexible-method-of-laravel /
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3