在java中缓存sql结果集

时间:2010-11-29 20:20:52

标签: java sql caching

我知道缓存经常使用的sql语句的结果集对于我在搜索有关在java中缓存sql结果集的最佳方法的性能更好。我找到了一些代码但是,它需要向netbeans添加新的jar文件。 任何人都可以帮助我如何做到这一点,而无需额外的apis?

3 个答案:

答案 0 :(得分:6)

您应该缓存生成的对象,而不是结果集,因为ResultSet具有对连接的引用(通过语句),该连接通常包含打开的数据库连接,或者在连接之后不再可用闭合!

答案 1 :(得分:0)

您可以创建结果的链接列表。缓存触发器指向列表的开头。由于链接列表就像你想要的任何包装,你可以根据需要将结果作为通用。  这不需要另外的api,但你必须自己实现这一切,希望你明白为什么我们不喜欢重新发明轮子。

答案 2 :(得分:0)

您应该只缓存数据。我建议你使用外部api,因为你可能还需要从缓存中逐出旧数据(以防止使用大量内存)。

使用guave

ConcurrentMap _continueContexts = new MapMaker()     .expiration(10,TimeUnit.SECONDS)     .makeMap();

P.S:你应该像maven一样来管理你的依赖。