在java中缓存DB数据

时间:2010-08-05 08:56:29

标签: java caching oracle10g

我的网络应用程序中有列表屏幕从oracle数据库中提取了大量数据。 每次列表屏幕加载时,它都会转到DB并提取数据。 我想要的是,我希望有一些缓存技术,可以从数据库中提取数据并将其保存在内存中,当下一个请求发出时我应该获取数据。就像数据库我应该能够过滤掉数据从任何sql查询,jst它不会去DB而不是从内存中提取数据。所以提取的数据集就像一个表的视图,它应该始终监控相应的表,以便任何更新在d表上进行操作,它应该再次从DB中获取新的数据集并进行服务。

java中是否有任何API实现相同? 在ADO.net他们有像记录集这样的东西......我对此知之甚多。 所以有任何出路。我的应用程序基于J2EE和oracle作为DB.we hv得到jboss作为d server.Any建议是受欢迎的。谢谢。

4 个答案:

答案 0 :(得分:3)

尝试使用Ehcache,它支持JDBC缓存。如果您不是JDBC专家,请避免创建自定义解决方案。

答案 1 :(得分:2)

您可以在memcached

中缓存查询结果

当您的应用程序修改您正在缓存的表时,请从memcached实例中删除缓存的项目。

我发现此快速指南很有用:http://pragprog.com/titles/memcd/using-memcached

答案 2 :(得分:2)

您可以将该数据存储到内存数据集中。

试试这个图书馆:
http://casperdatasets.googlecode.com

您可以像结果集一样迭代和滚动结果,对其发出查询,对数据进行排序,并创建索引以优化搜索 - 以及所有基于内存的搜索。

答案 3 :(得分:0)

我有2个选项 1)Jboss缓存,您可以在以下链接中查看所有详细信息 JBOSS Cache