問題タブ [cache-invalidation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
10513 参照

python - Flask-Restful で Flask-Cache を使用する方法

Flask-Restful で Flask-Cache @cache.cached() デコレータを使用するにはどうすればよいですか? たとえば、Resource から継承されたクラス Foo があり、Foo には get、post、put、および delete メソッドがあります。

の後にキャッシュされた結果を無効にするにはどうすればよいPOSTですか?

0 投票する
3 に答える
3723 参照

c# - CloudFront を使用した無効なパスは、C# で無効化を作成します

C#/.NET で CloudFront オブジェクトを無効にして、次の例外を取得しようとしています:

リクエストに無効な無効化パスが 1 つ以上含まれています。

私の機能:

関数に渡される配列には、次のような単一の Url が含まれます。

画像は S3 バケットに存在し、ブラウザの CloudFront URL にロードされます。

私は何を間違っていますか?

0 投票する
1 に答える
1178 参照

amazon-ec2 - 複数のインスタンスで Varnish キャッシュを無効にする

AWS で Magento ストアを実行しており、ELB の背後で自動スケーリングをセットアップしています。常に少なくとも 2 つの Web サーバーを実行しています。各 Web サーバー インスタンスには、着信要求を処理する前に独自の Varnish Cache サーバーがあります。

問題は、CSS、画像などの静的コンテンツを変更すると、各フロントエンド EC2 インスタンスに SSH 接続し、キャッシュされたオブジェクトを Varnish から禁止する必要があることです。最初に AWS コンソールから手動でインスタンスの IP を取得し、次にインスタンスに SSH で接続する必要があるため、これは非常に面倒です。これには多くの時間がかかり、常に 2 ~ 3 台を超えるサーバーがある場合はあまり効率的ではありません。

Phoenix Media による PageCache 拡張機能のインストールを検討しましたが、そのモジュールの問題は、事前にわからない構成で varnish インスタンスの IP の静的リストを手動で入力する必要があることです。自動スケーリングサーバーが行き来するため、これは私たちの場合には機能しません。

実行中のすべてのフロントエンド サーバーに対して一度にキャッシュの無効化を設定する方法はありますか? デフォルトの VCL ファイルに必要なコードを追加しました。これにより、同じサブネット内の任意のインスタンスからのパージ/禁止が可能になります。すべての管理タスクには専用の EC2 があり、それを使用してすべてのフロントエンド サーバーにキャッシュ無効化リクエストを発行する予定です。

シェル スクリプトを作成し、AWS API を使用してすべてのフロントエンド インスタンスの IP のリストを取得し、それらすべてに禁止コマンドを発行できるのではないかと考えていました。これは機能しますか?セットアップするにはどうすればよいですか?

また、リポジトリからの最新のコードのプル中に変更されたすべてのファイルのキャッシュ無効化を自動化するために何かを行うことはできますか?

これを回避する最も効率的な方法は何でしょうか?

0 投票する
1 に答える
191 参照

c# - VaryByCustom を使用してキャッシュを無効化する

VaryByCustom 属性を使用してキャッシュを無効化したい。次のコードは、キャッシュのセットアップに使用されています。

0 投票する
1 に答える
333 参照

varnish - 多数の Varnish オブジェクトを無効にする最良の方法は?

ユーザーとグループをサポートするAPIゲートウェイ風のサーバーに取り組んでいます。

次のような API エンドポイントがあります。

基本的に、「このユーザー 1 は 'ユーザー' にアクセスできますか?」と尋ねています。

「/authorization/users/1?resource=users」を Varnish にキャッシュしたいと考えています。

権限は、ユーザー レベルまたはグループ レベルで設定できます。各ユーザーは、少なくとも 1 つのグループに属しています。

PURGE リクエストを 1 つの URL に送信するだけでよいため、ユーザー レベルのキャッシュの無効化は簡単です。

グループに関しては、複雑です。グループには 50000 人を超えるユーザーを含めることができます。それらのユーザーを無効にするにはどうすればよいですか?

https://www.varnish-software.com/blog/advanced-cache-invalidation-strategiesを見ると、 X-Article-IDを使用するのが良い解決策かもしれません。私の懸念は、..オブジェクトの数が多い場合にどのように機能するかということです。巨大なCPU使用率が発生しますか? 50000 個のオブジェクトをどのくらいの速さで処理できますか?

より良い方法はありますか?

0 投票する
0 に答える
784 参照

c# - C# Redis Cache: 特定のキー値が変更されたかどうかを確認し、データ層 (つまり、元のソース) から nw 値を無効にして設定する方法

次のような実装を探しています:

1) 値が変更された場合、キーをチェックします。

2) yes の場合、キーを無効にします。

3)データ層(つまり、元のソース)からの新しい値でキーを設定します

0 投票する
1 に答える
261 参照

amazon-web-services - サーバー間のキャッシュの無効化

キャッシュの不一致が原因で問題が発生している 6 つの Web サーバーがあります。すべてのサーバーがメッセージを発行してオブジェクトを無効化できるトピックがあるように、キャッシュ無効化サービスを構築することを考えています。話題作りにAmazon SNSの利用を検討しています。

サーバーが無効化メッセージを受信するようになりましたが、次の点で混乱しています。

  1. サーバーがメッセージを受信するために SQS キューを使用する必要がありますか。
  2. HTTP エンドポイントを使用し、そのルートでキャッシュを無効にする API を構築する必要があります。これらのアプローチの両方の長所と短所、または私に利益をもたらす可能性のある他のアプローチを強調してください.
0 投票する
1 に答える
822 参照

amazon-web-services - CloudFront の無効化リクエストの数

ワイルドカードを使用*してすべてをクリアしましたが、行われた無効化リクエストの総数を確認したいと考えています。どうすればそれを知ることができますか?