zeit/now のキャッシュをバリバリに利かせてレスポンスを速くする

2020/02/15 22:05:482020/02/15 23:01:44

now でいつからか使えるようになった stale-while-revalidate の話。 Caramelize でも採用しています。
当然 Caching - ZEIT Documentation が一番詳しいですが軽く説明すると、ユーザーには最新のキャッシュを提供しながら、リクエストによってそのキャッシュをバックグラウンドで最新のものに更新してくれる、というものです。
アプリケーション側で設定しても反映されますが、この設定は now.json でもグローバルに設定でき、nuxt.js の nuxtjs/proxy のような設定の仕方のわからない API プロキシでも効かせられるので便利です。

now.json
"routes": [ 
  { 
    "src": "/.*", 
    "headers": { "Cache-Control": "s-maxage=600, stale-while-revalidate" }, 
    "continue": true 
  } 
],
s-maxage=600 で 600秒=10分キャッシュを持たせ、過ぎてリクエストがあった後バックグラウンドでキャッシュの更新を試みます。


著者の画像

ci7lus

@ci7lus

Caramelize - Made withCaramelizeand / Privacy