淡褐色 | IMap 上的操作是分布式的还是非分布式的?
HazelCast | operation over IMap is distributed or not?
我有一个 class 对 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
//...
}
我在 class 中定义了各种方法,它们对 IMap 执行操作。
IMap 实例在创建 CacheOperation
Bean 时填充。
@Bean
public CacheOperation cacheOperation(ClientConfig config )
{
HazelcastInstance instcance=HazelcastClient.newHazelcastClient(config);
return new CacheOperation(instcance.getMap("mapName"))
}
我的问题是,如果我在 IMap 上执行任何操作,它是否总是在分布式缓存上执行?
或者我是否需要为每个操作从 HazelcastInstance 获取 IMap 的引用。
对此的任何想法都会有所帮助。
是的,您可以依靠使用单个 IMap
实例(每个地图,名称唯一),它将保持一致并始终在分布式缓存中运行。
你的 CacheOperation
bean 和依赖注入配置对我来说很好。
作为参考,IMap documentation 将自己描述为 并发、分布式、可观察和可查询的映射 - 它真的就这么简单。
我有一个 class 对 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
//...
}
我在 class 中定义了各种方法,它们对 IMap 执行操作。
IMap 实例在创建 CacheOperation
Bean 时填充。
@Bean
public CacheOperation cacheOperation(ClientConfig config )
{
HazelcastInstance instcance=HazelcastClient.newHazelcastClient(config);
return new CacheOperation(instcance.getMap("mapName"))
}
我的问题是,如果我在 IMap 上执行任何操作,它是否总是在分布式缓存上执行? 或者我是否需要为每个操作从 HazelcastInstance 获取 IMap 的引用。 对此的任何想法都会有所帮助。
是的,您可以依靠使用单个 IMap
实例(每个地图,名称唯一),它将保持一致并始终在分布式缓存中运行。
你的 CacheOperation
bean 和依赖注入配置对我来说很好。
作为参考,IMap documentation 将自己描述为 并发、分布式、可观察和可查询的映射 - 它真的就这么简单。