3

http 経由でファイルを提供する Java ファイル サーバーがあります。各ファイルは、次のような ID で一意にアドレス指定できます。

http://fileserver/id/123455555

最も頻繁にアクセスされるファイルがメモリにとどまるように、これにキャッシュ層を追加しようとしています。キャッシュの合計サイズも制御したいと思います。これには ehcache または oscache を使用することを考えていますが、シリアライズされたオブジェクトをキャッシュするためにのみ使用したことがあります。それらは適切な選択でしょうか? ファイル キャッシュを構築するための追加の考慮事項はありますか?

編集

すべての答えをありがとう。問題を単純化 (または複雑化) するために、ファイル サーバーに関する詳細をいくつか示します。

  1. ファイルが保存されると、変更されることはありません。
  2. 保存時にファイルが重複しないようにするための MD5 ハッシュ。(私は衝突の可能性とセキュリティ上の懸念を認識しています)
  3. Linux ボックスで実行されるファイル サーバー。

編集2 サーバー自体はサポートするファイルタイプに制限を設けていませんが、ファイルはほとんどが画像(jpg、gif、pgn)、Word、Excel、10Mb以下のPDFです。

4

4 に答える 4

2

グアバキャッシュ?http://code.google.com/p/guava-libraries/wiki/CachesExplained

  • いいAPI
  • 時間ベースの立ち退き
  • サイズベースのエビクション
于 2012-05-14T06:19:31.273 に答える
1

私見ですが、OSディスクキャッシュを利用する方が良いでしょう。これにはいくつかの利点があります。

  • OSがすべての実際の作業を行うので、はるかに簡単です。
  • OSは、システムが他に何をするかによって異なる可能性のある、使用可能なすべての空きメモリを使用できます。
  • ディスクキャッシュを2倍にすることはありません(ディスクキャッシュであるため)。

OSは、とにかく最近使用されていないすべてのファイルをメモリに保持します。

于 2012-05-14T07:15:31.507 に答える
1

Ehcache は、Web キャッシングも行う機能を提供します。http://www.ehcache.org/documentation/user-guide/web-cachingを試してみてください。

于 2012-05-14T06:34:56.290 に答える