タグ付けされた質問 「caching」

キャッシュは、遠くに保存されているデータへのアクセス時間を短縮するために、データを一時的にローカルに保存(キャッシュ)するためのメカニズムです。CPU /ディスク/ウェブブラウジングについては、関連するタグ(cpu-cache、diskcacheなど)を使用してください。

6
ASP.NETのすべてのブラウザーのブラウザーキャッシュを無効にする
無効にしたブラウザーがページをキャッシュできないようにするために必要なASP.NETコードを明確に参照したいと思います。HTTPヘッダーとメタタグに影響を与える方法はたくさんありますが、さまざまなブラウザを正しく動作させるには、さまざまな設定が必要であるという印象を受けます。すべてのブラウザで機能し、バージョンを含む特定のブラウザに必要なコードを示すために、コードの参照ビットをコメント化しておくと非常に便利です。 この問題については膨大な量の情報がありますが、各メソッドの利点と、特定の手法がより高いレベルのAPIに取って代わられているかどうかを説明する優れたリファレンスはまだ見つかりません。 私は特にASP.NET3.5 SP1に興味がありますが、以前のバージョンの回答も得られるとよいでしょう。 このブログエントリFirefoxとIECachingの2つの重要な違いは、HTTPプロトコルの動作の違いについて説明しています。 次のサンプルコードは、私が興味を持っている種類のものを示しています public abstract class NoCacheBasePage : System.Web.UI.Page { protected override void OnInit(EventArgs e) { base.OnInit(e); DisableClientCaching(); } private void DisableClientCaching() { // Do any of these result in META tags e.g. <META HTTP-EQUIV="Expire" CONTENT="-1"> // HTTP Headers or both? // Does this only work for …

13
ブラウザでのiframeキャッシュの防止
FirefoxとSafariがiframeコンテンツをキャッシュしないようにするにはどうすればよいですか? 別のサイトのページへのiframeを含む単純なWebページがあります。外側のページと内側のページの両方に、キャッシュを防ぐためのHTTP応答ヘッダーがあります。ブラウザの「戻る」ボタンをクリックすると、外側のページは正しく機能しますが、何があっても、ブラウザは常にiframeページのキャッシュを取得します。IEは問題なく動作しますが、FirefoxとSafariが問題を引き起こしています。 私のウェブページは次のようになります。 <html> <head><!-- stuff --></head> <body> <!-- stuff --> <iframe src="webpage2.html?var=xxx" /> <!-- stuff --> </body> </html> var変数は常に変化します。iframeのURLが変更されたという事実にもかかわらず(したがって、ブラウザーはそのページに対して新しい要求を行う必要があります)、ブラウザーはキャッシュされたコンテンツをフェッチするだけです。 HTTPリクエストとレスポンスを行ったり来たりして調べたところ、外側のページにが含まれていても<iframe src="webpage2.html?var=222" />、ブラウザはフェッチすることに気付きましたwebpage2.html?var=111。 これが私がこれまでに試したことです: ランダムなvar値でiframeURLを変更する Expires、Cache-Control、およびPragmaヘッダーを外部Webページに追加する Expires、Cache-Control、およびPragmaヘッダーを内部Webページに追加する 同一生成元ポリシーによってブロックされているため、JavaScriptのトリックを実行できません。 アイデアが足りなくなりました。ブラウザがiframeコンテンツをキャッシュしないようにする方法を知っている人はいますか? 更新 ダニエルが別のテストを実行するように提案したので、Fiddler2をインストールしましたが、残念ながら、それでも同じ結果が得られます。 これは私が実行したテストです: 外側のページはMath.random()、JSPで使用して乱数を生成します。 外側のページは、Webページに乱数を表示します。 外側のページはiframeを呼び出し、乱数を渡します。 内側のページには乱数が表示されます。 このテストでは、どのページが更新され、どのページがキャッシュされているかを正確に確認できます。 ビジュアルテスト 簡単なテストのために、ページを読み込んで別のページに移動し、[戻る]を押します。結果は次のとおりです。 元のページ: 外側のページ:0.21300034290246206 内側のページ:0.21300034290246206 ページを離れて、反撃する: 外側のページ:0.4470929019483644 内側のページ:0.21300034290246206 これは、外側のページがURLの異なるGETパラメーターを使用して呼び出している場合でも、内側のページがキャッシュされていることを示しています。何らかの理由で、ブラウザはiframeが新しいURLを要求しているという事実を無視しています。古いものをロードするだけです。 フィドラーテスト 案の定、フィドラーは同じことを確認しています。 (ページをロードします。) 外側のページが呼び出されます。HTML: …

2
redisがすでにスタックの一部である場合、MemcachedがRedisと一緒に使用されているのはなぜですか?
Redisは、Memcachedが提供するすべてのこと(LRUキャッシュ、アイテムの有効期限、バージョン3.x +でのクラスタリング、現在はベータ版)、またはtwemproxyなどのツールを使用して実行できます。パフォーマンスも同様です。さらに、Redisは永続性を追加するため、サーバーを再起動した場合にキャッシュをウォームアップする必要はありません。 RedisとMemcacheを比較するいくつかの古い回答への参照。そのうちのいくつかはMemcacheの代わりとしてRedisを支持しています(すでにスタックに存在する場合): MemcachedとRedis? memcachedはRedisと比較して恐竜ですか? RedisとMemcacheまたは単にRedis? それにもかかわらず、Instagram、Pinterest、Twitterなどの大規模なWeb規模の企業のスタックを調査したところ、プライマリキャッシュにRedisを使用するのではなく、MemcachedとRedisの両方をさまざまな目的で使用していることがわかりました。プライマリキャッシュは引き続きMemcachedであり、Redisはデータ構造ベースの論理キャッシュに使用されます。 2014年の時点で、memcachedが実行できるすべてのことを実行できるRedisコンポーネントがすでにあるのに、memcachedをスタックに追加コンポーネントとして追加するだけの価値があるのはなぜですか?アーキテクト/エンジニアが既存のRedisとは別にmemcachedを含めるように傾斜させる有利な点は何ですか? 更新: 私たちのプラットフォームでは、Memcachedを完全に破棄し、プレーンキャッシュと論理キャッシュの要件にredisを使用しています。高性能、柔軟性、信頼性。 いくつかのシナリオ例: キャッシュされたすべてのキーを特定のパターンで一覧表示し、それらの値を読み取るか削除します。redisでは非常に簡単ですが、memcachedでは(簡単に)実行できません。 redisで簡単に実行できる1MBを超えるペイロードの保存には、memcachedでのスラブサイズの微調整が必​​要です。これには、独自のパフォーマンスの副作用があります。 現在のキャッシュコンテンツの簡単なスナップショット Redisクラスターは、言語ドライバーとともに本番環境にも対応しているため、クラスター化されたデプロイも簡単です。

1
インタプリタによって維持される整数キャッシュとは何ですか?
Pythonのソースコードを調べたところPyInt_Object、int(-5)からint(256)(@ src / Objects / intobject.c)までの範囲のsの配列が維持されていることがわかりました。 少しの実験でそれが証明されます: >>> a = 1 >>> b = 1 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False しかし、これらのコードをpyファイルで一緒に実行すると(またはセミコロンで結合すると)、結果は異なります。 >>> a = 257; b = 257; a is b True なぜそれらがまだ同じオブジェクトであるのか興味があるので、構文ツリーとコンパイラーを深く掘り下げて、以下にリストされている呼び出し階層を思いつきました。 PyRun_FileExFlags() mod = PyParser_ASTFromFile() …


10
Javascriptで画像をどのようにキャッシュしますか
私の友人と私は、将来それらをより速く表示するために特定の画像をキャッシュしたいウェブサイトに取り組んでいます。私は2つの主な質問があります: 画像をどのようにキャッシュしますか? キャッシュされた画像をどのように使用しますか?(そして、確認のために、画像がページAにキャッシュされている場合、キャッシュから呼び出してページBで使用することは可能ですよね?) また、キャッシュされたバージョンの画像の有効期限を設定することはできますか? これをさらに説明する例および/またはページへのリンクが含まれていれば幸いです。 生のJavascriptまたはjQueryバージョンのいずれかを使用しても問題ありません。

4
asp.net-mvcでのキャッシュ
データベースの負荷の高いアクションをasp.net-mvcサイトにキャッシュしたいと思います。私の研究で私は見つけました Philのブログでのドーナツキャッシュ Kaziのブログのフィルターのキャッシュ/圧縮 彼らがSOに物事をどのようにキャッシュしたかについてのScottHanslemanのポッドキャスト。 しかし、私はまだそれを理解しているとは感じていません。 いくつかのパーに応じてPOSTリクエストをキャッシュできるようにしたい。これらのパーはオブジェクト内にあります。したがって、次のリクエストの結果をキャッシュしたいと思います。 public ActionResult AdvancedSearch(SearchBag searchBag) ここで、searchBagは、オプションの検索パラメーターの(束)を保持するオブジェクトです。私のビュー自体は(そうあるべきですが)軽いですが、検索バッグに入力されているフィールドによっては、データアクセスにかなり時間がかかる場合があります。 アクションではなく、データレイヤーにキャッシュする必要があると感じています。 OutputCache属性でVaryByParamをどのように使用する必要がありますか?


2
さまざまなタイプのリソースに最適なHTTPキャッシュ制御ヘッダー
「すべての」キャッシュとブラウザで機能する最小限のヘッダーセットを見つけたい(HTTPSを使用している場合も!) 私のWebサイトには、次の3種類のリソースがあります。 (1)永久にキャッシュ可能(パブリック/すべてのユーザーに等しい) 例:0A470E87CC58EE133616F402B5DDFE1C.cache.html(GWTによって自動生成) これらのファイルは、コンテンツが変更されると(MD5に基づいて)、自動的に新しい名前が割り当てられます。 HTTPSを使用している場合でも、可能な限りキャッシュする必要があります(したがってCache-Control: public、特にFirefoxの場合は設定する必要がありますか?) コンテンツが変更された場合、検証のためにクライアントがサーバーにラウンドトリップする必要はありません。 (2)時々変更する(公開/すべてのユーザーに等しい) 例:index.html、mymodule.nocache.js これらのファイルは、サイトの新しいバージョンが展開されるときに、URLを変更せずにコンテンツを変更します。 それらはキャッシュできますが、おそらく毎回再検証するためにラウンドトリップが必要です。 (3)リクエストごとに個別(プライベート/ユーザー固有) 例:JSON応答 これらのリソースは、いかなる状況でも暗号化せずにディスクにキャッシュしないでください。(キャッシュできる特定のリクエストがいくつかある場合を除きます。) おそらく各タイプにどのヘッダーを使用するかについての一般的な考えはありますが、常に何かが欠けている可能性があります。

5
-128から127の範囲の整数クラスキャッシュ値はなぜですか?
前の質問に関して、なぜ== Integer.valueOf(String)との比較で127と128で異なる結果が得られるのですか?、我々はそれを知ってInteger classいる値を格納するキャッシュを持っている間-128と127。 不思議に思うのですが、なぜ-128から127の間ですか? Integer.valueOf()のドキュメントは、それがあると述べ、「頻繁に要求された値をキャッシュします」。しかし、-128との間の値は127実際に頻繁に要求されますか?頻繁に要求される値は非常に主観的だと思いました。 これの背後にある考えられる理由はありますか? ドキュメントからも次のように述べられています:「..そしてこの範囲外の他の値をキャッシュする可能性があります。」 これはどのように達成できますか?
81 java  caching 

6
Ruby on Rails:キャッシュされたページをクリアする
開発環境でページをキャッシュしているRoRアプリケーション(ruby v1.8.7; rails v2.3.5)があります。これはそれほど問題にはなりませんが、キャッシュされたページのa要素は正しくありません。 development.rbファイルに変更を加えておらず、コントローラーにキャッシュコマンドを故意に追加していません。 このサイト(localhost)のブラウザ(OSX上のFirefox 3.5)のCookieとページキャッシュをクリアしようとしました。Mongrelも再起動しました。何も役に立たないようです。 何が足りないのですか?

3
Java 8ではメソッド参照キャッシュは良い考えですか?
次のようなコードがあると考えてください。 class Foo { Y func(X x) {...} void doSomethingWithAFunc(Function<X,Y> f){...} void hotFunction(){ doSomethingWithAFunc(this::func); } } それhotFunctionが非常に頻繁に呼び出されるとします。それがキャッシュに賢明だろうthis::func、多分このように: class Foo { Function<X,Y> f = this::func; ... void hotFunction(){ doSomethingWithAFunc(f); } } 私がJavaメソッド参照を理解している限り、メソッド参照が使用されると、仮想マシンは匿名クラスのオブジェクトを作成します。したがって、参照をキャッシュすると、そのオブジェクトは1回だけ作成されますが、最初のアプローチでは各関数呼び出しでオブジェクトが作成されます。これは正しいです? コードのホットな位置に表示されるメソッド参照をキャッシュする必要がありますか、それともVMがこれを最適化して、キャッシュを不要にすることができますか?これに関する一般的なベストプラクティスはありますか、それともこのようなキャッシュが役立つかどうかにかかわらず、この高度にVMの実装に固有ですか?

10
asp.netでキャッシュをロックするための最良の方法は何ですか?
長時間実行されるプロセスなどの特定の状況では、ASP.NETキャッシュをロックして、そのリソースに対する別のユーザーによる後続の要求が、キャッシュにアクセスする代わりに長いプロセスを再度実行しないようにすることが重要であることを知っています。 ASP.NETでキャッシュロックを実装するためのC#の最良の方法は何ですか?
80 c#  .net  asp.net  caching 


7
file_get_contentsが間違った結果を得る
更新 問題を解決して回答を投稿しました。ただし、私のソリューションは100%理想的ではありません。私はむしろのみ除去するであろうsymlinkからcacheとclearstatcache(true, $target)か、clearstatcache(true, $link)それは動作しません。 また、シンボリックリンクのキャッシュを最初から防ぐか、シンボリックリンクを生成した直後にキャッシュから削除します。残念ながら、私はそれで運がありませんでした。何らかの理由でclearstatcache(true)シンボリックリンクを作成しても機能しない場合でも、キャッシュされます。 私は私の答えを改善し、それらの問題を解決できるすべての人に賞金を喜んで授与します。 編集する clearstatcache実行するたびにファイルを生成してコードを最適化しようとしたので、シンボリックリンクごとに1回だけキャッシュをクリアする必要があります。何らかの理由で、これは機能しません。clearstatcacheがsymlinkパスに含まれるたびに呼び出す必要がありますが、なぜですか?私のソリューションを最適化する方法がなければなりません。 で使用PHP 7.3.5していnginx/1.16.0ます。file_get_contentsを使用すると、誤った値が返されることがありますsymlink。問題は、シンボリックリンクを削除して再作成した後、その古い値がキャッシュに残っていることです。正しい値が返されることもあれば、古い値が返されることもあります。ランダムに見えます。 私はキャッシュをクリアするか、キャッシュを防止しようとしました: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } キャッシュを無効にしたくないのですが、file_get_contentsで100%の精度が必要です。 編集する 私のソースコードは長すぎて複雑であるため、投稿できません。問題を再現する最小限の再現可能な例(index.php)を作成しました。 <h1>Symlink Problem</h1> <?php $dir = getcwd(); if (isset($_POST['clear-all'])) { $nos = array_values(array_diff(scandir($dir.'/nos'), array('..', '.'))); foreach ($nos as $no) { unlink($dir.'/nos/'.$no.'/id.txt'); rmdir($dir.'/nos/'.$no); } foreach (array_values(array_diff(scandir($dir.'/ids'), array('..', '.'))) as …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.