J-stream CDNext クエリキャッシュについて

J-stream

コンテンツの作り方によっては、クエリで表示内容を変えていたりするものがありますよね。CDNextではデフォルトの設定は「クエリを除去してキャッシュ」になっています。(コンテンツ側の動作確認が疎かだとサービスINしてからこういうところに気づくんですよね。インフラ側がちゃんと説明してないからや。って言われるんですけど、全部説明しても頭に入らんと思うし、違う担当になったらまたイチから説明とかめんどくさすぎるんですけどね。)と、グチはここまでにしておいて、実際どういうことかというと

(例:実際には下記のページはありません)
2021年1月のスケジュール情報を公開するページ
 https://www.pitecki.com/sucedule?year=2021&month=1
2021年2月のスケジュール情報を公開するページ
 https://www.pitecki.com/sucedule?year=2021&month=2

上記のような感じで、表示内容が分かれていた場合、
最初のユーザーが1月にアクセスすると、CDN側で、「?」以下を除去した上で、「sucedule」の内容を全部キャッシュします。続いてTTLが切れる前に2月にアクセスすると、1月の内容が表示されてしまいます。

何故、そんな設定がデフォルトなの?と思うかもしれませんが、仕様はJ-streamに聞いてください(笑)予想ですが、クエリパラメータを除去しないと同一コンテンツなのに大量キャッシュして、CDNとしての意味を成さないのを防ぐために、初期値としてクエリ完全除去にしているのではないかと思います。

設定方法

いたって簡単です。

  • CDNホスト設定
    • 「クエリ」タブ
    • デフォルトの「完全除去」から「指定クエリのみ利用」に変更
    • 利用するクエリを追加していく
    • ※20件以上使いたい場合はちょっと知らない。。。問い合わせたら増やしてくれるのかな?
  • 設定完了後、設定反映を忘れないようにw

逆パターンの除外などもできるので、環境によって使い分けてください。これで、クエリ単位でキャッシュされるようになりました。めでたしめでたし。

コメント