缓存结果集

时间:2010-01-17 21:07:29

标签: spring caching jdbc java-ee scalability

我的应用程序将使用数据源bean从MySql中检索一个数字列表。因为每次我可以将countrylist作为List存储在某个全局bean中时,所有页面都可能使用相同的记录集,在这种情况下是安全的。我可以随时刷新列表...但是当事情变得更复杂时,最好的策略是什么,可扩展性更高的解决方案?

使用内存数据库? 第三部分缓存结果集?

没有找到一个,可能是因为我不熟悉这个主题。

3 个答案:

答案 0 :(得分:2)

ResultSet与数据库连接相关联,它是一个相当短暂的构造,不适合缓存。

我建议使用EhCache来缓存结果。它是一种内存缓存机制(具有溢出到磁盘的选项,以及在集群中分发的选项)。它与Spring集成得非常好(通过EhCacheManagerFactoryBeanEhCacheFactoryBean)。

答案 1 :(得分:0)

如果国家/地区列表几乎从未更新,请在应用程序启动时填写FastMap,地图键为two letter country abbreviations,值为您要为每个国家/地区存储的其他信息。否则,请使用内存数据库缓存,例如EhCache和Memcached。

答案 2 :(得分:0)

使用CachedRowSet。它可以像ResultSet一样对待,但不需要保持与数据库的连接。