我的应用程序将使用数据源bean从MySql中检索一个数字列表。因为每次我可以将countrylist作为List存储在某个全局bean中时,所有页面都可能使用相同的记录集,在这种情况下是安全的。我可以随时刷新列表...但是当事情变得更复杂时,最好的策略是什么,可扩展性更高的解决方案?
使用内存数据库? 第三部分缓存结果集?
没有找到一个,可能是因为我不熟悉这个主题。
答案 0 :(得分:2)
ResultSet
与数据库连接相关联,它是一个相当短暂的构造,不适合缓存。
我建议使用EhCache来缓存结果。它是一种内存缓存机制(具有溢出到磁盘的选项,以及在集群中分发的选项)。它与Spring集成得非常好(通过EhCacheManagerFactoryBean
和EhCacheFactoryBean
)。
答案 1 :(得分:0)
如果国家/地区列表几乎从未更新,请在应用程序启动时填写FastMap,地图键为two letter country abbreviations,值为您要为每个国家/地区存储的其他信息。否则,请使用内存数据库缓存,例如EhCache和Memcached。
答案 2 :(得分:0)
使用CachedRowSet。它可以像ResultSet一样对待,但不需要保持与数据库的连接。