【问题标题】:Multiple Hazelcast instances or one instance多个 Hazelcast 实例或一个实例
【发布时间】:2021-12-19 09:47:25
【问题描述】:

我是 Hazelcast 的新手,我可以设置 Hazelcast server,start。 我的 web 应用程序是一个单体应用程序,需要引入分布式缓存机制。将会有相对大量的点击量,所以我的问题是,如果我编写如下代码,这将是一个好方法,因为它将被创建很多实例。或者这是预期的行为?抱歉我的转储问题。

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


    【解决方案1】:

    您不需要每次想要访问地图时都启动一个新的 Hazelcast 实例,这与 getMap 调用相同,因为这两者都是昂贵的远程操作。使用 getMap 一次获取地图句柄,并继续对所有地图操作使用相同的引用。此外,避免为 Hazelcast 访问创建多个新实例,并使用您已经创建的一个 - newHazelcastInstance

    【讨论】:

    • 谢谢,很清楚!
    猜你喜欢
    • 1970-01-01
    • 2021-02-06
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多