JSON を Amazon Cloudfront にキャッシュすることを検討しています。
その問題は、JSON が更新されたときにそのキャッシュを手動でクリアするのに 15 分かかる場合があることです。
単純な JSON 値を CDN のような http キャッシュに保存する方法はありますか?
- 初期生成後にアプリケーション サーバー (heroku) に触れない
- キャッシュを即座に失効させることができます
アップデート
AdamKG の指摘に応えて:
「更新」されている場合、静的ではありません:D 新しいバージョンを作成し、サーバーに新しい URL を使用するように指示します。
私の実際のアイデアは、html ページが変更されるたびに新しい CloudFront URL をキャッシュすることです。それが私の最初の焦点でした。
JSON にしたい理由は、その最新の CloudFront URL のバージョン番号を保存するためです。そうすれば、ロードするバージョンを見つけるために AJAX 呼び出しを行い、次にコンテンツを実際にロードするために 2 回目の AJAX 呼び出しを行うことができます。このようにして、CloudFront コンテンツを期限切れにする必要はありません。読み込み中の ajax をリダイレクトするだけです。
しかし、JSON をキャッシュする必要があるという問題があります。単一の JSON バージョン番号を見たいと思うたびに、Heroku ダイナモにアクセスする必要はありません。memcache とラックがそれをスピードアップするのに役立つことは知っていますが、それは私が望んでいない問題です。
私が持っていたいくつかのアイデア:
- おそらく、Memcache db に似た、JSON URL で値を公開できるサードパーティのサービスがありますか? そうすれば、私のダイナモは決して触れられません。
- 手動でより迅速に有効期限を切れるようにする Cloudfront の代替手段があるのではないでしょうか? 私はキャッシングの性質をちょっと打ち負かしていることを知っていますが、ワニスレイヤーなどの仲介サービスがもっとあるかもしれません。