問題タブ [caching]

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 に答える
7332 参照

ruby - Ubuntu で Ruby Phusion Passenger のキャッシュをクリアするにはどうすればよいですか?

Apache を再起動してみましたが、キャッシュされたページがまだ表示されるので、どこかにフォルダーがあるはずです。「パブリック/キャッシュ」を持っていないので、他にどのような場所を見ればよいですか? この効果もトリガーできる URL フラグはありますか?

0 投票する
56 に答える
507545 参照

javascript - キャッシュされた CSS および JavaScript ファイルをブラウザーに強制的にリロードさせる方法

一部のブラウザー (特に Firefox とOpera ) は、ブラウザー セッション間であっても、キャッシュされた.cssおよび.jsファイルのコピーを非常に熱心に使用していることに気付きました。これにより、これらのファイルのいずれかを更新すると問題が発生しますが、ユーザーのブラウザーはキャッシュされたコピーを使用し続けます。

ファイルが変更されたときにユーザーのブラウザにファイルを強制的に再読み込みさせる最もエレガントな方法は何ですか?

理想的には、このソリューションでは、ページにアクセスするたびにブラウザーにファイルの再読み込みを強制しないようにします。


John Millikinda5id の提案が役立つことがわかりました。これにはauto-versioningという用語があることがわかりました。

以下に新しい回答を投稿しました。これは、元のソリューションとジョンの提案を組み合わせたものです。

SCdFによって提案された別のアイデアは、偽のクエリ文字列をファイルに追加することです。(タイムスタンプを偽のクエリ文字列として自動的に使用する一部の Python コードが、piによって送信されました。)

ただし、ブラウザーがクエリ文字列を含むファイルをキャッシュするかどうかについては、いくつかの議論があります。(ブラウザにファイルをキャッシュして、今後のアクセスで使用するようにしたいことを思い出してください。ファイルが変更された場合にのみ、ファイルを再度取得する必要があります。)

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

c# - C#でWindows READディスクキャッシュを空にする/フラッシュする方法は?

ドライブの読み取り速度を判断しようとしている場合は、ファイルをファイル システムに書き込み、それらのファイルを読み戻すルーチンをコーディングできます。残念ながら、これは正確な読み取り速度を提供しません。これは、Windows がディスク読み取りキャッシュを行うためです。

C# / .Net (またはおそらく Win32 API 呼び出し) でドライブのディスク読み取りキャッシュをフラッシュして、ファイルをキャッシュせずにドライブから直接読み取ることができる方法はありますか?

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

caching - Safari/WebKit に Ctrl-Shift-R に相当するものはありますか?

キャッシュにあるものを無視して、実際にページまたはリソースをリロードするもの。

0 投票する
19 に答える
235728 参照

html - Web ブラウザに画像をキャッシュさせないようにする方法

バックグラウンド

私は、2 つのプロボノ Web サイト用に、非常に単純な CGI ベース (Perl) のコンテンツ管理ツールを作成して使用しています。Web サイトの管理者にイベント用の HTML フォームを提供し、フィールド (日付、場所、タイトル、説明、リンクなど) を入力して保存します。そのフォームで、管理者がイベントに関連する画像をアップロードできるようにします。フォームを表示している HTML ページでは、アップロードされた画像のプレビューも表示しています (HTML img タグ)。

問題

問題は、管理者が画像を変更したい場合に発生します。彼は「参照」ボタンを押して新しい写真を選び、OK を押すだけでした。そして、これはうまくいきます。

画像がアップロードされると、バックエンドの CGI がアップロードを処理し、フォームを適切にリロードします。

問題は、表示されている画像が更新されないことです。データベースに正しい画像が保持されていても、古い画像が引き続き表示されます。イメージが Web ブラウザーにキャッシュされているという事実に絞り込みました。管理者が Firefox/Explorer/Safari で RELOAD ボタンを押すと、すべてが正常に更新され、新しい画像が表示されます。

私の解決策 - 機能しない

非常に過去の日付で HTTP Expires 命令を記述して、キャッシュを制御しようとしています。

私は管理者側にいることを思い出してください。ページは常に期限切れになっているため、ページの読み込みに少し時間がかかるかどうかはあまり気にしません.

しかし、これもうまくいきません。

ノート

画像をアップロードするとき、そのファイル名はデータベースに保持されません。これは、Image.jpg という名前に変更されます(使用時に単純化するため)。既存の画像を新しいものに置き換える場合、名前も変更されません。画像ファイルの内容が変わるだけです。

Web サーバーは、ホスティング サービス/ISP によって提供されます。アパッチを使用しています。

質問

Web ブラウザに、このページの内容 (画像でさえも) を強制的にキャッシュさせないようにする方法はありますか?

データベースで実際に「ファイル名を保存する」オプションを調整しています。このように、画像が変更されると、IMG タグの src も変更されます。ただし、これにはサイト全体で多くの変更が必要であり、より良い解決策がある場合は変更しません。また、アップロードされた新しい画像が同じ名前の場合、これはまだ機能しません (画像が少しフォトショップされて再アップロードされたとします)。

0 投票する
8 に答える
17381 参照

php - PHP オブジェクトをファイルにキャッシュする方法は?

ASPNET では、アプリケーション ストアとキャッシュ ストアが好きになりました。彼らは素晴らしいです。初心者の場合は、データ ロジック オブジェクトをそれらに投入するだけで済みます。データベースにクエリを実行する必要があるのは、わずかなデータに対して 1 回だけです。

最高の ASPNET 機能の 1 つである IMO.

それ以来、私は Linux 用の Windows を捨てたので、webdev 用に PHP、Python、Ruby を使いました。PHP を最もよく使用するのは、すべて PHP を使用していくつかのオープン ソース プロジェクトを開発しているためです。

言うまでもなく、データ オブジェクトのキャッシングに関して PHP が提供する機能について説明しました。これまでに私は遊んだことがあります:

  1. ファイルへのシリアル化 (かなり遅い/高価なプロセス)
  2. データを JSON/XML/plaintext/etc としてファイルに書き込みます (読み取り操作の場合はさらに遅くなります)
  3. 純粋な PHP としてファイルにデータを書き込む (読み取りは最速ですが、書き込み操作は非常に複雑です)

アプリはあらゆる種類のシナリオでインストールされるため、サードパーティのアプリ (memcached など) に依存しないソリューションを探していることを強調しておく必要があります。安価な共有ホスティング アカウント)。

私が今やっていることに戻りますが、ファイルを安全に保持していますか? 運用サーバーのセキュリティでは、ファイル書き込みは常に無効になっていますが、書き込みができない場合にPHPRule 1キャッシュできる方法がまったくわかりません。セキュリティを強化するためのヒントやコツはありますか?

私が忘れている別のファイルに保存する方法はありますか?

「制限された」環境でキャッシュするより良い方法はありますか?

0 投票する
4 に答える
9764 参照

http - REST 要求の Jetty サーバーからのクライアント キャッシュを無効にする

Jetty で実行されている Jersey で実装された REST Java サーバーがあります。特定のブラウザー (IE7) は、サーバーに対して行われたすべての要求を内部的にキャッシュしているようです。

私がやりたいことは、REST サーバーからの応答で特定の HTTP ヘッダーを送信して、その応答をキャッシュしてはならないことをブラウザーに示し、次にそのリソースへのアクセスが必要になったときにサーバーに再度クエリを実行することです。

このためにJersey/Jettyを構成する方法についてのアイデアはありますか? または、それを構成する唯一の方法はクライアント側ですか?

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

php - APC for PHP の設定が間違っていますか?

APC私が働いているサイトを高速化するためにインストールすることにしました。悲しいことに、私はそれが既にインストールされ、有効になっていることを知りました (最初にサーバーで作業した開発者は引っ越しました)。

次に、その使用法をチェックして、より多くのメモリを割り当てる必要があるかどうかを確認することにしました。これは私が奇妙なことを発見したときです。このコードを含む単純なファイル:

Apacheから提供された場合は機能しません。Error 320 (net::ERR_INVALID_RESPONSE): Unknown error.エラーログには何もありません。clサーバー上の iから、正常に動作します。しかし、それは私のcheck_apc.phpファイルがキャッシュされていることだけを示しています(私が実行していたスクリプトの名前)。

APCそのため、完全に/正しく設定されていないようです。問題が何であるかを知っている人はいますか?

/etc/php.d/apc.ini の内容:

サーバーは実行中ですCentOS

0 投票する
6 に答える
582 参照

optimization - OS ブロック バッファにファイルを保持する

オペレーティング システムのブロック キャッシュにできるだけ多くの大きなファイルを保持する必要がありますが、それは RAM に収まりきらないほど大きく、別の非常に大きなファイルを継続的に読み込んでいます。ATM 別のファイルから読み取りをストリーミングするときに、システム キャッシュから大きな重要なファイルの大きなチャンクを削除します。

0 投票する
2 に答える
370 参照

model-view-controller - ファンシー MVC URL はキャッシュの実行方法に影響しますか?

JS ファイルのキャッシュのクリアに関する質問への回答を読んでいるときに、誰かがhttp 仕様のこの部分を指摘しました。基本的には、? を含む URL を意味します。特定の有効期限が指定されていない限り、キャッシュから取得しないでください。MVC Web サイト (RoR、ASP.Net MVC など) で非常に一般的なクエリ文字列のない URL はどのようにキャッシュされますか? また、従来のクエリ文字列ベースの URL とは動作が異なりますか?