問題タブ [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 投票する
2 に答える
695 参照

caching - ColdFusion で共有キャッシュを適切に実装する方法は?

私は、キャッシュに値するほぼすべてのものを対象とした動的なエージング キャッシュとして機能するように設計された CFC を構築しました。LDAP クエリ、関数の結果、配列、オブジェクト、名前を付けます。計算に時間やリソースがかかり、複数回必要とされるもの。私はいくつかのことをできるようにしたいと思います:

  • アプリケーション間で CFC を共有する
  • キャッシュのスコープを定義する (サーバー / アプリケーション / セッション / 現在のリクエストのみ)
  • 同じリクエストで同時に異なるキャッシュ インスタンスを使用する
  • キャッシュ コンポーネントを使用して CFC から独立させる
  • 一般的に常識に従う(デカップリング、カプセル化、直交性、ロック)

もちろん、個別のタスクごとに異なるキャッシュ インスタンスを使用しますが、アプリケーション間で同じ CFC を使用できるようにしたいと考えています。キャッシュ自体は (それ以外は) Struct であり、キャッシュ インスタンスに対してプライベートです。スコープ自体が変更される可能性がある場合、キャッシュとロックを適切に実装するにはどうすればよいですか?

ロックには、現在、名前付きロック ( 'CacheRead''CacheWrite') を使用しています。これは安全ですが、奇妙に感じます。たとえば、セッションのみの操作でサーバー全体のロックが必要になるのはなぜですか? (はい、これアカデミックかもしれませんが、ともかく。)

アプリケーションレベルのキャッシュが必要な場合に参照として APPLICATION スコープを渡すことも間違っているようです。より良い方法はありますか?

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

php - 変更可能なアイテムを使用した 2 パス PHP キャッシュ システムの作成

2 パス キャッシュ システムを実装したい:

  • 最初のパスでは、PHP ファイルが生成され、すべての一般的な内容 (ニュース項目など) がハードコーディングされます。データベースには、これらをページにリンクするためのキャッシュ テーブルがあり (例: "index.php page=1 style=default")、データベースには uptodate フィールドも格納されます。これが false の場合、次回のページで最初のパスが再実行されます。が表示されます。

  • 2 番目のパスは、何か (?) がどれくらい前のものか、および「あなたは次のようにログインしています...」のような変更可能な項目など、細かい詳細を入力します。

ただし、多くのコードといくつかのクエリなしで、キャッシュされたページとキャッシュされていないページ (検索など) の両方をサポートする効率的な実装についてはわかりません。

現在、ページが読み込まれるたびに PHP スクリプトが実行され、ページが再生成されます。検索のようなページでは、ほとんどの検索が異なるため、これで問題ありませんが、インデックスなどの他のページでは、ヒットごとに実質的に同じですが、多数のクエリが生成され、非常に長いスクリプトになります。

問題は、ページの一部がユーザーごとに変更されることです。たとえば、「あなたは次のユーザーとしてログインしています...」セクションなどです。そのため、生成されたページを単純に保存すると、ほぼ同一のページが 10,000 ページになることになります。

私は共有ホスティングを使用しており、現時点ではアップグレードする余裕がないため、主な懸念事項はサーバーの負荷を軽減することですが、サイトはサーバーの CPU のかなりの部分を使用し、MySQL にかなりの負荷をかけています。サーバ。

したがって、基本的には、各ページ リクエストに対して実行する必要がある量を最小限に抑え、ニュース アイテムのようなものを常にインデックスに再生成しないようにすることは、良いスタートのように思えます。

実際には、ニュース項目をプレーンな HTML としてハードコーディングすることを検討しましたが、それはそれらをいくつかの場所に維持することを意味します (それらは検索に使用される可能性があり、コメントはそのニュース項目専用のページ (つまり、news.php) にあるためなど)。 .

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

.net - ASP.NET アプリケーションの外部で HttpRuntime.Cache を使用しても問題ありませんか?

スコット・ハンセルマンはそう言います

Web 以外のプロジェクトに System.Web を追加することは、人々をパニックに陥らせる良い方法です。もう 1 つは、C# アプリケーションで Microsoft.VisualBasic への参照を追加することです。ただし、どちらも合理的であり、非常に便利なことです。

MSDNはノーと言います。

Cache クラスは、ASP.NET アプリケーション以外で使用するためのものではありません。Web アプリケーションにキャッシュを提供するために、ASP.NET で使用するために設計およびテストされました。コンソール アプリケーションや Windows フォーム アプリケーションなど、他の種類のアプリケーションでは、ASP.NET キャッシュが正しく機能しない場合があります。

では、どう考えればよいのでしょうか。

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

asp.net - 分散キャッシュ/セッション どこを参照すればよいですか?

現在、分散キャッシュ ソリューションを検討しています。

お金が問題でなければ、どちらをお勧めしますか?

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

hibernate - クエリキャッシュの自動無効化

休止状態のクエリ キャッシュが実際にどのように機能するかを理解しようとしています。私が今見ているのは、新しいエンティティをデータベースに挿入するときに、Hibernate がその第 2 レベルのキャッシュを自動的に更新しないことです (ただし、Hibernate 呼び出しのみを使用しています)。私が見つけた唯一の方法は、新しいエンティティを挿入した後にキャッシュを手動で消去することでした。

より具体的な例を次に示します。多くのアイテムを持つことができる Container と呼ばれる永続的なエンティティがあります。すべてのアイテムをキャッシュしたかった:

私が気付いた問題は、次の場合です。

1) いくつかのコンテナをデータベースからメモリに読み込みます (対応するアイテムと一緒に)

2) 選択したコンテナに新しいアイテムを挿入

3) 最初の手順を繰り返して
から、3 番目の手順で、2 番目の手順で挿入した項目が表示されません。新しいアイテムを挿入した後にキャッシュを手動で消去した場合にのみ表示されます。

私の直感では、Hibernate はそのようなキャッシュの無効化を自動的に行うべきだと言っています。誰かがそれが働いているのを見たことがありますか? 私は何か間違ったことをしていますか、それともサポートされていないだけですか?

答えてくれてありがとう。こんにちはトム

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

caching - 従来のASPでのアプリケーションオブジェクトのサイズ制限は何ですか?

アプリケーションオブジェクトを使用してページを保存するASPスクリプトを作成しています。私の頭の中の問題は、このオブジェクトにサイズ制限があるかどうかです。誰か知ってる?

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

linux - Linux でシステムキャッシュからファイルを削除するには?

パフォーマンス テストを実行する場合、ファイル システム キャッシュのヒットまたはミスがテスト結果に大きな影響を与える可能性があります。したがって、通常、このようなテストを実行する前に、使用されたファイルはシステム キャッシュから削除されます。Linuxでそれを行う方法は?

明確化:可能であれば、ソリューションに root 権限は必要ありません。

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

caching - etag を作成する最良の方法は何ですか?

Web ページの etag をプログラムで生成する良い方法は何ですか? また、この方法は推奨されますか? etag をオフにすることを推奨するサイトもあれば、手動で作成することを推奨するサイトもあれば、デフォルト設定をアクティブのままにしておくことを推奨するサイトもあります。

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

javascript - JavaScript: Image() がブラウザのキャッシュを使用しないようにする方法は?

ブラウザで nextimg の URL を手動で読み込むと、リロードするたびに新しい画像が表示されます。しかし、このコードは、 の反復ごとに同じ画像を表示しますdraw()

myimg を強制的にキャッシュしないようにするにはどうすればよいですか?

0 投票する
14 に答える
172122 参照

jquery - jQuery .load 応答がキャッシュされないようにする

URLでGETリクエストを行う次のコードがあります。

ただし、返された結果が常に反映されるわけではありません。たとえば、スタック トレースを吐き出す応答を変更したのに、検索ボタンをクリックしてもスタック トレースが表示されませんでした。ajax 応答を制御する基礎となる PHP コードを調べたところ、正しいコードがあり、ページに直接アクセスすると正しい結果が示されましたが、.load によって返された出力は古いものでした。

ブラウザを閉じて再度開くと、一度動作してから古い情報が返され始めます。jQuery でこれを制御できますか、それともキャッシュを制御するために PHP スクリプト出力ヘッダーが必要ですか?