我正在使用JDBC。我有数据库密集型计算,我想缓存结果。
我正在使用HashMap<String, ResultSet>
来缓存结果。但是,程序通常会提供OutOfMemory Exception,因为缓存太大了。
有关更好的数据结构/缓存接口的建议吗?
答案 0 :(得分:1)
首先,不要缓存ResultSet
,用数据创建一些域对象,然后缓存它们。
其次,使用某种缓存框架来驱逐未使用的旧条目。我最喜欢的是Guava Cache因为它在代码中很容易配置,但另一个很受欢迎的是Ehcache。