我正在寻找 Java Web 应用程序的缓存解决方案。我们有一个 Oracle 数据库实例和 2-3 个远程到我们的数据库的实例。我们希望将数据本地缓存到我们的应用程序,因为我们不能接受数据库响应时间。我们的数据集是平均大小(每个表几千行),并且是从我们的应用程序手动修改的(所以不经常)(没有直接的数据库访问)。
所以我们一直在考虑的是一种解决方案,它允许我们在本地拥有所需的所有数据。我们希望减少从 db 检索并重写到缓存的数据量。
例如,当一个实体被修改时,我们不想使该表上的所有缓存查询无效,我们宁愿能够修改本地缓存的查询结果集,以便查询仍然可以从缓存数据在本地运行。缓存必须复制它们的更改\从数据库中检索由其他应用程序实例修改的数据。
我们一直将 EhCache 视为 Hibernate 2 级缓存,但它会在任何表修改时使给定表的所有缓存查询无效。我快速浏览了 Hibernate 服务,但还不知道这是否允许我们覆盖休眠 2 级缓存默认行为以满足我们的需求。
还有其他我们可以使用的解决方案吗?
编辑我们希望能够非常快速地访问数据。实际上,我们正在寻找的是可存储的缓存。