クエリ データを短期的にキャッシュするための単純なインメモリ (およびインプロセス) キャッシュを探しています (ただし、要求/応答を超えた短期的な意味、つまりセッション境界)。EhCache はおそらく機能しますが、必要なものが 1 つ提供されていないように見えます: キャッシュされるオブジェクトの数を制限するのではなく、キャッシュされたデータによって消費されるメモリの量を (概算で) 制限します。
シリアル化なしで特定のオブジェクトの正確なメモリ使用量を把握するのは難しいことを理解しています(一般的には、その遅さが私の用途の目的を損なうため、これは避けたいと思います)。サイズの見積もりを自分で提供する必要があります。
だから:キャッシュされたオブジェクトの「重み」を定義して、キャッシュされるものの量を制限できる単純なオープンソースのJavaキャッシュはありますか?
編集 (2010 年 11 月): 価値のあるものとして、この問題に対処しようとするJava CacheMateと呼ばれる新しいプロジェクトがあり、他のいくつかの改善のアイデア (マルチレベルのインメモリ インプロセス キャッシング) があります。