我有一个类通过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的参考资料。 任何想法都会有所帮助。
答案 0 :(得分:2)
是的,您可以依赖于使用单个IMap
实例(每个地图,按名称唯一),它将保持一致并始终在分布式缓存中运行。
您的CacheOperation
bean和依赖注入配置对我来说很好。
作为参考,IMap documentation将自己描述为并发,分布式,可观察和可查询的地图 - 它真的很简单。