多个 Hazelcast 实例或一个实例
Multiple Hazelcast instances or one instance
我是 Hazelcast 的新手,我可以设置 Hazelcast server
,start
。
我的 Web 应用程序是一个单一的应用程序,需要引入分布式缓存 mechanism.There 将会有相对较好的点击量,所以我的问题是,如果我编写如下代码,这是否是一个好方法,因为它会被创建许多实例。还是这种行为是预期的?抱歉我的转储问题。
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.map.IMap;
public class HazlecastMain {
public static void main(String[] args) {
//Client configuration
ClientConfig clientConfig = new ClientConfig();
clientConfig.setClusterName("dev");
clientConfig.getNetworkConfig().addAddress("http://localhost:8080");
HazelcastInstance newHazelcastInstance = Hazelcast.newHazelcastInstance();
IMap<Object, Object> map = newHazelcastInstance.getMap("customers");
map.put("1", "AA");
map.put("2", "BB");
map.put("3", "CC");
System.out.println(map.get("1"));
HazelcastInstance newHazelcastInstance2 = Hazelcast.newHazelcastInstance();
IMap<Object, Object> map2 = newHazelcastInstance2.getMap("customers");
System.out.println(map2.get("2"));
}
}
您不需要在每次访问地图时都启动一个新的 Hazelcast 实例,与调用 getMap 一样,因为这两者都是昂贵的远程操作。使用 getMap 一次获取地图的句柄,并继续对所有地图操作使用相同的引用。此外,避免为 Hazelcast 访问创建多个新实例并使用您已经创建的实例 - newHazelcastInstance
我是 Hazelcast 的新手,我可以设置 Hazelcast server
,start
。
我的 Web 应用程序是一个单一的应用程序,需要引入分布式缓存 mechanism.There 将会有相对较好的点击量,所以我的问题是,如果我编写如下代码,这是否是一个好方法,因为它会被创建许多实例。还是这种行为是预期的?抱歉我的转储问题。
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.map.IMap;
public class HazlecastMain {
public static void main(String[] args) {
//Client configuration
ClientConfig clientConfig = new ClientConfig();
clientConfig.setClusterName("dev");
clientConfig.getNetworkConfig().addAddress("http://localhost:8080");
HazelcastInstance newHazelcastInstance = Hazelcast.newHazelcastInstance();
IMap<Object, Object> map = newHazelcastInstance.getMap("customers");
map.put("1", "AA");
map.put("2", "BB");
map.put("3", "CC");
System.out.println(map.get("1"));
HazelcastInstance newHazelcastInstance2 = Hazelcast.newHazelcastInstance();
IMap<Object, Object> map2 = newHazelcastInstance2.getMap("customers");
System.out.println(map2.get("2"));
}
}
您不需要在每次访问地图时都启动一个新的 Hazelcast 实例,与调用 getMap 一样,因为这两者都是昂贵的远程操作。使用 getMap 一次获取地图的句柄,并继续对所有地图操作使用相同的引用。此外,避免为 Hazelcast 访问创建多个新实例并使用您已经创建的实例 - newHazelcastInstance