キャッシュ制御ヘッダーの制御方法を教えてください(私が作成したキャッシュ関数に影響します)
キャッシュ制御ヘッダーの制御方法を教えてください (私が作成したキャッシュ関数に影響します)
etag とファイル キャッシュに依存して処理する PHP 制御のキャッシュを作成しました
ブラウザーが etag を送信する場合は、比較しますetag が一致している場合は、304 を直接送信します。etag が一致していない場合は、ファイル キャッシュを直接読み取り、現在のサーバー キャッシュの etag
を送信します (ファイル キャッシュと etag の更新は
ここで、突然応答が 304 を返さないことに気付きました。確認したところ、このアドレスのサーバーの http 応答ヘッダーが、cache-control: no-cache
を返していたことがわかりました。サーバーのキャッシュがチェックされ、サーバーは最初の応答を自動的に送信します (私の etag も送信されます)。その結果、サーバー側にキャッシュがあるかどうかに関係なく、ブラウザーは追加されません。 etag をリクエスト ヘッダーに追加しても、サーバーはそれを処理するときに受信しません。etag に対しては、それが最初のリクエストとみなされ、ファイル キャッシュが再読みされて、etag が再度送信されます... (応答 200)
大体こんな感じですが、これでは使いたいものが失われます 304 ダイレクトキャッシュの効果が出てきます。
違いを見ると、通常のデータ、約 10KB は正常に実行されています (キャッシュなしの最初のリクエストは 130 ミリ秒、キャッシュありの最初のリクエストは 90 ミリ秒、その後は 16 ミリ秒以下)
しかし、これは304 を送信しない場合 (常に (キャッシュなし送信)、データは 304B のみです (ただし、キャッシュ モジュールなしでも、サーバーの計算により約 90 ミリ秒かかります)。
データの返送が一貫していないことが原因でしょうか。この 304B データは 12KB に拡張され、キャッシュなしヘッダーは引き続き送信され、20kB への増加は同じです。
それから私は混乱しました...何が起こったのか分かりません。
(天地の良心、すべてのコードは私によって書かれており、1 つのヘッダー (etag) を除いて他の etag は一切送信されません)
-----解決策のアイデア- --------------------
その理由は何ですか?
ノーキャッシュを送信し続けるのはなぜですか?おそらくサーバーの設定が原因だと思われます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











実際は次のようなものです。当時、私のリーダーは私に perf ハードウェア パフォーマンス監視タスクを与えました。perf を使用するプロセス中に、コマンド perf list を入力すると、次の情報が表示されました。私のタスクは、これらのキャッシュ イベントを有効にすることです。しかし重要なのは、これらのミスやロードが何を意味するのか全く分からないということです。

キャッシュを使用すると、CPU の待ち時間が短縮されるため、コンピューターの速度が向上します。キャッシュは、CPU とメイン メモリ DRAM の間に位置する小さいながらも高速なメモリです。キャッシュの機能はCPUのデータ入出力速度を高めることであり、キャッシュは容量は小さいが速度が速く、メモリは速度は低いが容量が大きいため、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスを向上させることができます。大幅に改善されました。

キャッシュはキャッシュメモリと呼ばれ、中央処理装置とメインメモリの間にある高速かつ小容量のメモリで、通常は高速SRAMで構成され、CPU向けのこの種のローカルメモリが導入されています。 CPU とメモリ間の速度差がシステム パフォーマンスに及ぼす影響を軽減または排除します。キャッシュ容量は小さいですが高速、メモリ速度は遅いですが容量は大きく、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスが大幅に向上します。

キャッシュの特徴:CPUとメインメモリの間に設けられた1層または2層の高速かつ小容量のメモリで、コンピュータの電源を切ると情報は自然に失われます。 ROM の特性: メモリからデータを読み取ることのみが可能ですが、情報を書き込むことはできず、コンピュータの電源を切ってもデータは残ります。 ram の特性: メモリからデータを読み取り、メモリに情報を書き込むことができます。プログラムの実行に必要なコマンド、プログラム、およびデータを保存するために使用されます。コンピュータの電源がオフになると、情報は自然に失われます。

nginx リバース プロキシ キャッシュのチュートリアルは次のとおりです。 nginx のインストール: sudoaptupdatesudoaptinstallnginx リバース プロキシの構成: nginx 構成ファイルを開きます: sdonano/etc/nginx/nginx.conf キャッシュを有効にするには、http ブロックに次の構成を追加します: http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

Preface キャッシュは、頻繁にアクセスされるデータをメモリに保存し、データベースなどの基盤となるデータ ソースへの負担を軽減することで、システムのパフォーマンスと安定性を効果的に向上させることができます。誰もがプロジェクトで多かれ少なかれこれを使用したことがあると思いますが、私たちのプロジェクトも例外ではありませんでしたが、最近会社のコードをレビューしていたとき、非常に愚かでレベルの低い記述でした。 {Useruser=cache.getUser();if(user!=null){returnuser;}//データベースからユーザーを取得=loadFromDB(id);cahce.put(id,user);returnu

nginx キャッシュの 5 つのオプション キャッシュ 1. 従来のキャッシュの 1 つ (404) この方法では、nginx の 404 エラーをバックエンドに送り、proxy_store を使用してバックエンドから返されたページを保存します。設定: location/{root/home/html/;#ホームディレクトリexpires1d;#Webページの有効期限error_page404=200/fetch$request_uri;#404 /fetchディレクトリに誘導される} Location/fetch/{#404ここに指定されています内部 ;#このディレクトリは外部から直接アクセスできないことを示します

詳細は次のとおりです。 1. ハードコーディングされたキャッシュとは何ですか? SpringCache を学ぶ前は、ハードコーディングされた方法でキャッシュを使用することがよくありました。実際の例を見てみましょう。ユーザー情報のクエリ効率を向上させるために、ユーザー情報のキャッシュを使用します。サンプル コードは次のとおりです: @AutowireprivateUserMapperuserMapper; @AutowireprivateRedisCacheredisCache;//ユーザーをクエリ publicUsergetUserById(LonguserId){//キャッシュを定義しますkeyStringcacheKey= "userId_
