首页 > 解决方案 > 如何锁定两个完整的 Hazelcast 地图?

问题描述

我有两个 hazelcast IMap。我需要对它们的值执行类似于全连接 SQL 查询的操作。

HazelcastIMap.lock只锁定一把钥匙,而 Hazelcast 事务最多只能保证REPEATABLE_READ隔离。

如何同时锁定两张地图,以便其中一张的内容在检索另一张的内容时不会改变?

标签: javatransactionslockinghazelcastisolation-level

解决方案


由于 Hazelcast 是一个 NoSQL 存储,因此在其上运行连接查询并不可行,并且也不支持它。Hazelcast 已经有查询索引,但是对于您的用例,也许您可​​以在这里采取不同的方法。

一种方法是将您的相关数据共同定位在同一个分区中,并向该分区发送一个EntryProcessor以在本地操作中以最少的网络调用获取所有相关数据。


推荐阅读