HazelCast | IMap上的操作是否分发?

时间:2015-04-13 14:04:37

标签: java hazelcast

我有一个类通过IMap< ...>执行操作。

public class CacheOperation
{
private IMap<Integer,String> cache;

 public CacheOperation(IMap<Integer,String> cache)
 { 
   this.cache=cache;
 }

 //api for get operation with/without lock over the key
 //api to delete data with lock
 //api to save data with lock over the key
 //...
}

我在类中定义了各种方法,它们通过IMap执行操作。 在创建CacheOperation Bean时填充IMap实例。

@Bean
public CacheOperation cacheOperation(ClientConfig config )
{
    HazelcastInstance instcance=HazelcastClient.newHazelcastClient(config);
    return new CacheOperation(instcance.getMap("mapName"))
}

我的问题是,如果我对IMap执行任何操作,它是否总是在分布式缓存上执行? 或者我是否需要从HazelcastInstance获取IMap的参考资料。 任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:2)

是的,您可以依赖于使用单个IMap实例(每个地图,按名称唯一),它将保持一致并始终在分布式缓存中运行。

您的CacheOperation bean和依赖注入配置对我来说很好。

作为参考,IMap documentation将自己描述为并发,分布式,可观察和可查询的地图 - 它真的很简单。