Next.js : 増分静的再生成 (ISR)
Oct 24, 2024 pm 06:39 PMインクリメンタル静的再生 (ISR) あり
サイト全体を再作成しなくても、静的コンテンツを更新できます。ほとんどのリクエストに対して事前に作成された静的ページを提供することで、サーバーの負荷を軽減できます。次回の作成に時間がかかる前に、大量のコンテンツ ページを処理できます。
例から始めましょう :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
この例はどのように機能するのか?
これらのページ (/post/1 など) に対して行われたすべてのリクエストは キャッシュされ、瞬時に処理されます。 30 秒が経過した後も、次のリクエストではキャッシュされた (古い) ページが表示されます。 キャッシュが無効になり、ページの新しいバージョンがバックグラウンドで生成され始めます。正常に生成されると、Next.js は更新されたページを表示してキャッシュします。/post/12 がリクエストされた場合、Next.js はこのページをオンデマンドで生成してキャッシュします。
さらに精度が必要な場合は、オンデマンド再検証を使用できますが、リアルタイムのデータが必要な場合は、動的処理への切り替えを検討してください。
revalidatePath を使用したオンデマンドの再検証
Next.js を使用すると、特定のページまたはルートのキャッシュを手動でクリアできます。つまり、特定のコンテンツが更新された場合、すべてのページを再作成するのではなく、変更されたページまたはコンテンツのみを再作成できます。
変更があったとき (たとえば、新しい投稿が追加されたとき)、ページをすぐに更新したい場合は、revalidatePath 関数を使用してこのプロセスをトリガーできます。つまり、新しいコンテンツがユーザーに追加されるとすぐに、新しいコンテンツが表示されるようにすることができます。
1 2 3 4 5 6 7 8 |
|
revalidateTag を使用したオンデマンドの再検証
Next.js アプリケーションでは、特定のデータまたはコンテンツをタグ付けすることで、キャッシュを手動でクリアできます。これは、特定のコンテンツが変更されたときに、そのコンテンツのキャッシュ全体をクリアするために使用されます。コンテンツが更新されると、ユーザーには最新のデータが表示されます。
1 2 3 4 5 6 7 |
|
その後、revalidateTag を使用できます:
1 2 3 4 5 6 7 8 |
|
ISR は、静的エクスポート を作成する場合にはサポートされません。静的にレンダリングされたルートに複数のフェッチ リクエストがあり、それぞれの revalidate 頻度が異なる場合、最も低い時間が ISR に使用されます。ただし、これらの再検証頻度はデータ キャッシュによって引き続き考慮されます。ルートで使用される フェッチ リクエスト のいずれかが再検証時間 0 であるか、明示的にストアなしの場合、ルートは動的に再検証されます。レンダリングされました。 ミドルウェアは、オンデマンド USER リクエストに対して実行されません。つまり、ミドルウェアのパス書き換えやロジックは適用されません。正確なパスを再検証していることを確認してください。たとえば、書き換えられた /post-1 の代わりに /post/1 になります。
私の記事が気に入ったら、コーヒーをおごってください :)
以上がNext.js : 増分静的再生成 (ISR)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









