1

分散キャッシュにresxファイルを追加することに意味はありますか?a)リソースファイル自体をキャッシュするb)ファイル内の個々のリソースをキャッシュすることによって節約されるリソースにアクセスするオーバーヘッドはどれくらいですか?直接的な欠点の1つは、得られる国際化能力を損なうことです。

4

1 に答える 1

2

リソースのキャッシュ戦略などを実装する前に、まずコードを計測してプロファイリングし、リソース アクセスが本当にボトルネックになっているかどうかを判断する必要があります。

そうであると仮定すると、リソース キャッシング戦略は確かに合理的な最適化である可能性がありますが、多くは正確な実装の選択に依存します。リソース ファイルを使用する費用のほとんどは、リソース ファイルの内容の解析と解釈に帰着する可能性が非常に高いです。特に resx ファイルは通常 XML であるためです。さらに、外部の分散キャッシュを使用すると、新しい遅延の原因となる可能性があり、設計に潜在的な障害が発生する可能性があります。

リソース アクセスのパフォーマンスが本当に問題であり、扱うリソースがそれほど大きくない場合は、アプリケーション内でインプロセスでキャッシュする方がよい場合があります。それらをオンデマンドでロードし、保持します。弱い参照を使用して、めったに使用されないリソースを破棄し、必要に応じて再ロードすることもできます。

于 2009-07-07T13:15:38.987 に答える