私はクエリデータの短期間のキャッシュ(しかし、リクエスト/レスポンスを超えた短期的な意味、つまりセッション境界)のための単純なインメモリ(およびインプロセス)キャッシュを探しています。 EhCacheはおそらく動作しますが、キャッシュされたオブジェクトの数に制限はありませんが、キャッシュされたデータで消費されるメモリの量には制限があります。インスタンス数だけでなく、メモリ内キャッシュのメモリ使用を制限するJavaキャッシュはありますか?
シリアル化なしでは、特定のオブジェクトの正確なメモリ使用量を把握することは難しいと私は理解しています(私の使用の目的が遅いため一般的な場合は避けたい)。サイズは自分自身を推定する。
So:キャッシュされたオブジェクトの量を制限するために、キャッシュされたオブジェクトの「ウェイト」を定義できる単純なオープンソースのJavaキャッシュがありますか?
EDIT(2010年11月):何が価値があるのは、他のいくつかの改善のアイデアと一緒に、この問題に取り組むためにしようとJava CacheMateと呼ばれる新しいプロジェクトがあるため(マルチレベルメモリ内のインプロセスキャッシュ)
Hmmh。ほとんどの答えは私には問題のない部分に焦点を当てているので、私はひどく質問を書いたに違いない。私は有用な見積もりを提供することができます - 私はそれを利用するためにキャッシュが必要です。つまり、オブジェクトの数だけではなく、合計の重量です。私は '標準'のもののどれもこれをしないと思います。 – StaxMan
私はあなたが必要とするもののもう少し詳細が役に立つと思います。アイテムの(静的な)重量を考慮に入れたい*唯一の要素ですか?おそらく、キャッシュがサポートできる合計「重量」が必要です。タイミングはどうですか?それはまったく有効なのでしょうか? –
なぜサイズベースのキャッシュが必要なのか尋ねてもよいですか? – ReneS