我应该在我的对象中保留对 Hazelcast 地图的引用吗?

Shall I keep reference to Hazelcast Map in my object?

我有一个 Hazelcast 地图可以帮助加速查询。我的问题是:是每次调用query方法时获取这个map的引用,还是在我的query service init方法中获取reference并作为class成员保存,以节省查询时间?

每次获取 IMap 引用没有显着的性能开销;但是因为它不会改变,所以只获取一次引用然后重用它更有意义。

这假设您已经持有一个 HazelcastInstance,您可以从中获取地图;获取实例的成本更高,我不建议每次都重新创建它。

从 HazelcastInstance 获取对 IMap 的引用是一个远程操作,即与服务器进行完整的网络往返,它会增加集群操作的整体延迟。因此,不建议对每个缓存操作都去寻找参考;相反,在应用程序中维护引用并重新使用它。