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

asp.net - ユーザー コントロールをキャッシュするときに複数の VaryByCustom パラメーターを使用できますか?

私はこれをいくつかの異なる方法で試してきましたが、何らかの理由で機能しません。それは可能ですか?

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

c++ - Windows で最速の小さなデータストア

私のアプリは、約 1000 個のオブジェクトの状態を追跡しています。これらのオブジェクトは、特定の順序で永続ストア (シリアル化) から読み取られ、永続ストアに書き込まれます。

現在、アプリはレジストリを使用して各オブジェクトの状態を保存しています。これは次の理由で優れています。

  • 簡単です

  • とても速いです

  • 個々のオブジェクトの状態は、より大きなエンティティを読み取る必要なく読み書きできます (大きな XML ファイルからスニペットを引き出すなど)。

  • 個々のアイテムを簡単に操作できる適切なエディター (RegEdit) があります。

そうは言っても、もっと良い方法があるかどうか疑問に思っています。SQLite は可能性のように思えますが、レジストリで得られるのと同じレベルのマルチリーダー/マルチライターはなく、既存のエントリを編集する簡単な方法もありません。

より良い提案はありますか?フラットファイルの束?

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

asp.net - ASP.NET のアプリケーションとキャッシュの違いは何ですか?

Application("some-object")Cache("some-object")ASP.NETの違いは何ですか?

0 投票する
9 に答える
11774 参照

php - PHPとMySQLを使用してサイズ変更された画像をキャッシュする最良の方法

PHPを使用して画像のキャッシュを処理するためのベストプラクティスの方法は何でしょうか。

ファイル名は現在MySQLデータベースに保存されており、アップロード時に元のファイル名とaltタグとともにGUIDに名前が変更されます。

画像がHTMLページに配置されるときは、phpスクリプトに書き換えられた'/images/get/200x200/{guid}.jpgなどのURLを使用して配置されます。これにより、デザイナーはファイルサイズを指定できます(おおよそ-ソースイメージはもっと小さいかもしれません)。

次に、phpスクリプトは、サイズ(urlの200x200)とGUIDファイル名のハッシュを作成し、ファイルが以前に生成されている場合(ハッシュの名前のファイルがTMPディレクトリに存在する場合)、アプリケーションのTMPディレクトリからファイルを送信します。ハッシュされたファイル名が存在しない場合は、作成され、ディスクに書き込まれ、同じ方法で提供されます。

これは可能な限り効率的ですか?(画像の透かし入れもサポートしており、透かし入れの設定もハッシュに保存されますが、これは範囲外です。)

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

c# - 期限切れのアイテムをキャッシュから消去するには?

キャッシュとして機能する素敵な小さなクラスを作成しました。各アイテムには有効期限の TimeSpan または DateTime があります。キャッシュ内のアイテムにアクセスしようとするたびに、アイテムの有効期限がチェックされ、有効期限が切れている場合、アイテムはキャッシュから削除され、何も返されません。

これは、頻繁にアクセスされるオブジェクトには最適ですが、項目がキャッシュに置かれ、二度とアクセスされない場合は、有効期限が切れていても決して削除されません。

そのようなアイテムをキャッシュから期限切れにするための良い方法は何ですか?

有効期限が切れているかどうかを確認するために、キャッシュ内のすべてのアイテムを無限に列挙するバックグラウンド スレッドを用意する必要がありますか?

0 投票する
7 に答える
8714 参照

python - urllib2 でキャッシングしますか?

私が見落としている urllib2 を使用するときに物事をキャッシュする簡単な方法はありますか、それとも自分でロールバックする必要がありますか?

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

asp.net - 実際に保持できるアプリケーションセッションデータの量はどれくらいですか?

私は現在、毎日20,000人を超えるユーザーにヒットするアプリケーションを持っており、ほとんどの場合、1つのデータテーブルを参照しています。このデータテーブルは約20行で埋められていますが、テーブル内の情報のレコードが200,000〜600,000であるデータベース内の「データテーブル」から取得されます。編集:これらの20行は「動的」であり、ユーザーがテキストボックスを介して情報を入力すると変更されます。

現在、プロファイルデータとともにユーザーデータも保持しています。

現在、データテーブルが表示されるたびに約4回のコールバックを行っていますが、1回のコールに戻すことができません。

質問:実際に5秒ごとに200,000〜600,000行のデータでアプリケーションの状態を埋めることができ、実際にシステムを高速化できるかどうか疑問に思っていました。編集:ユーザーまたは他のユーザーが入力する動的な行に対して実行します。コンテンツは頻繁に更新する必要があります。

質問2:アプリケーションキャッシュに実際にどれだけ保持でき、それでも高速化を回避できますか?

編集: 20,000人以上のユーザーがこれらの200,000行にアクセスしているので、それらすべてをキャッシュする必要があります。少なくとも、ベストプラクティスについては考えています。ユーザーが私のサイトにアクセスすると、これはユーザーが見るメインページの1つであり、おそらく1回の訪問につき2〜5回戻ってきます。

編集:ユーザーには、ユーザーに表示される他の20行とは異なる可能性のある20行の一意のセットが表示されます。これは非常に動的なサイトであり、2つの異なる行が1秒に1回更新される可能性があります。

編集:セッション状態で保存されている場合、ユーザーがページを表示する回数だけが高速化されます。人は一度だけページを表示してから離れることができたので、全体的なアプリケーションではありません。

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

c# - 静的変数を使用してASP.netに情報をキャッシュしても大丈夫ですか?

現在、ASP.netのC#3.5でプロジェクト管理アプリケーションに取り組んでいます。データベースへのヒットを減らすために、静的変数を使用して多くの情報をキャッシュしています。たとえば、ユーザーのリストは静的クラスのメモリに保持されます。このクラスは、起動時にデータベースからすべての情報を読み取り、変更が加えられるたびにデータベースを更新しますが、日付ベースから読み取る必要はありません。

このクラスは、データベースへの書き込みと同時に、更新された情報で他のWebサーバー(存在する場合)にpingを実行します。pingメカニズムは、キャッシュオブジェクトがランダムに使用可能なポートを使用して登録するWindowsサービスです。他の用途にも使用されます。

データの量はそれほど多くはありません。現時点では、ユーザー(パスワードハッシュ、権限、名前、電子メールなど)をキャッシュするためだけに使用しています。これにより、データベースに対して行われる呼び出しの山が節約されます。

この方法に落とし穴があるかどうか、および/またはデータをキャッシュするためのより良い方法があるかどうか疑問に思いましたか?

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

c# - sessionfactory のキャッシュ

私が収集した限り (読み取り: 測定)、nhibernate を使用したクエリの実行では、構成と sessionfactory の構築に最も時間がかかります。sessionfactory を静的にすることに反対するものはありますか? appDomain ごとに 1 回だけ構成されますか?

このアプローチを使用するとロックと競合の問題が発生することはわかっていますが、個人的には、セッション ファクトリでこのアプローチを使用するとアプリケーションがどこで壊れるかわかりません。

私がこれを尋ねている理由は、スレッドの問題が常に発生するわけではないため、スレッドの問題の可能性をテストするのが非常に難しいためです。

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

c# - asp.net アプリケーションで使用するためにクラス ライブラリにキャッシュを正しく実装する

asp.net アプリケーションで使用しているクラス ライブラリにキャッシュを実装しています。

キャッシュを更新するための静的メソッドを使用して、シングルトン パターンとしてキャッシュ オブジェクトを作成しました。これは、キャッシュする必要があるデータのコレクションをメンバー変数/プロパティにロードするだけです (もちろん、いくつかのロック ロジックを取得しました)。呼び出すだけでデータにアクセスできるので、これは良い方法だと思いました

いくつかのキーで分割された大量のデータを格納するために、新しいキャッシュ オブジェクトを作成しています。私が言っているのは、新しいキャッシュを作成しているということですが、これはすべてのデータを一度にロードするのではなく、アクセスされたキーごとにコレクションを保存します。

今回はガベージコレクションについての質問が持ち上がりました。大量のデータを保存しているので、いきなりGCされたらもったいないですよね?これは単なるシングルトン パターンであるため、データがキャッシュに保持されることを保証するものは何もありません。

だから私の質問は - この状況を処理するためにキャッシュを実装するためのベストプラクティスは何ですか? 私はこれに対する非常に複雑なソリューションが本当に好きではありません.System.Webにキャッシュがあることは知っていますが、これは単なるクラスライブラリであるため、少し「ずれている」ようです.