我们有一个使用 JTA 事务和休眠的集群企业应用程序,用于部署在 JBoss EAP 上的数据库操作。
为了提高系统性能,我们计划使用 Jboss 数据网格。这就是我计划使用 jboss 数据网格的方式:
- 每当使用 cache.put 在数据库中插入/更新对象时,我都会添加/替换对象是缓存
- 当对象从数据库中删除时,它使用 cache.remove 从缓存中删除
- 检索时,首先尝试使用键或查询从缓存中获取数据。如果数据不存在,则从数据库加载数据。
但是,我对数据网格有以下问题:
- 为了查询对象,我们使用休眠条件,但是数据网格使用它自己的查询构建器。我们可以避免为休眠和数据网格编写单独的查询吗?
- 我想要返回匹配条件的对象列表。如果符合条件的对象之一被从缓存中逐出,它是否会自动从数据库中重新加载?
- 如果事务被回滚,它是否也会从数据网格缓存中回滚
- 是否有任何示例可以参考我的数据网格实现?
- 对于我的要求 infinispan 作为库或远程模式下的二级缓存或数据网格,哪个是更好的选择?