JDBCを使用しています。データベース集中型の計算があり、結果をキャッシュしたいと考えています。
HashMap<String, ResultSet>
結果をキャッシュするために使用しています。ただし、キャッシュが大きくなりすぎるため、プログラムで OutOfMemory Exception が発生することがよくあります。
使用するより良いデータ構造/キャッシュ インターフェイスに関するアドバイスはありますか?
JDBCを使用しています。データベース集中型の計算があり、結果をキャッシュしたいと考えています。
HashMap<String, ResultSet>
結果をキャッシュするために使用しています。ただし、キャッシュが大きくなりすぎるため、プログラムで OutOfMemory Exception が発生することがよくあります。
使用するより良いデータ構造/キャッシュ インターフェイスに関するアドバイスはありますか?
まず、 をキャッシュせずResultSet
に、データを使用していくつかのドメイン オブジェクトを作成し、それらをキャッシュします。
次に、使用されていない古いエントリを削除する何らかのキャッシュ フレームワークを使用します。私のお気に入りはGuava Cacheです。コードで簡単に構成できますが、別の人気のあるものはEhcacheです。