Hazelcast怎么在SpringBoot中使用

今天就跟大家聊聊有关Hazelcast怎么在Spring Boot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

金门网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

什么是Hazelcast?

Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序。

1. 它是用Java编写的。
2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可从所有可用的CPU内核中受益。
3. 与其他内存数据网格不同 - 它设计用于分布式环境。它支持每个群集无限数量的map和缓存。

根据基准测试,Hazelcast在获取数据方面比Redis快56%,在设置数据方面比Redis快44%。

Hazelcast是一个高度可扩展的数据分发和集群平台。特性包括:

  1. 提供java.util.{Queue, Set, List, Map}分布式实现。

  2. 提供java.util.concurrency.locks.Lock分布式实现。

  3. 提供java.util.concurrent.ExecutorService分布式实现。

  4. 提供用于一对多关系的分布式MultiMap。

  5. 提供用于发布/订阅的分布式Topic(主题)。

  6. 通过JCA与J2EE容器集成和事务支持。

  7. 提供用于安全集群的Socket层加密。

  8. 支持同步和异步持久化。

  9. 为Hibernate提供二级缓存Provider 。

  10. 通过JMX监控和管理集群。

  11. 支持动态HTTP Session集群。

  12. 利用备份实现动态分割。

  13. 支持动态故障恢复。

现在需要将它添加到Spring Boot项目中并开始使用它的优势。

 
   org.springframework.boot  
   spring-boot-starter-parent  
   2.0.0.RELEASE  
 
 
   
     org.springframework.boot  
     spring-boot-starter-web  
   
   
     com.hazelcast  
     hazelcast  
   
   
     com.hazelcast  
     hazelcast-spring  
   

要将Hazelcast添加到Spring Boot应用程序,只需要两个依赖项。下我们需要配置Hazelcast实例。有两种方法可以做到这一点:

1. 通过Java配置。
2. 通过创建hazelcast.xml配置文件。

我们选择第一个方式:

import com.hazelcast.config.Config; 
import com.hazelcast.config.EvictionPolicy; 
import com.hazelcast.config.MapConfig; 
import com.hazelcast.config.MaxSizeConfig; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration;

@Configuration 
public class HazelcastConfiguration { 
  @Bean 
  public Config hazelCastConfig(){ 
    Config config = new Config(); 
    config.setInstanceName(“hazelcast-instance”)。
        addMapConfig(
            new MapConfig()。
                setName(“configuration”)
                .setMaxSizeConfig(新MaxSizeConfig(200,MaxSizeConfig.MaxSizePolicy。FREE_HEAP_SIZE))
                .setEvictionPolicy(EvictionPolicy。LRU)
.setTimeToLiveSeconds(-1)); 
    return config; 
  } 
}

实例已配置 - 现在我们可以访问Hazelcast并使用数据进行操作。

对于这个例子,将创建只有3个映射的HazelcastController:

  • 一个是设置数据;

  • 一种是按ke键查询数据;

  • 一个是从Hazelcast获取所有数据;

@RestController
@RequestMapping("/hazelcast")
public class HazelcastController {

  private final Logger logger = LoggerFactory.getLogger(HazelcastController.class);
  private final HazelcastInstance hazelcastInstance;

  @Autowired
  HazelcastController(HazelcastInstance hazelcastInstance) {
    this.hazelcastInstance = hazelcastInstance;
  }

  @PostMapping(value = "/write-data")
  public String writeDataToHazelcast(@RequestParam String key, @RequestParam String value) {
    Map hazelcastMap = hazelcastInstance.getMap("my-map");
    hazelcastMap.put(key, value);
    return "Data is stored.";
  }

  @GetMapping(value = "/read-data")
  public String readDataFromHazelcast(@RequestParam String key) {
    Map hazelcastMap = hazelcastInstance.getMap("my-map");
    return hazelcastMap.get(key);
  }

  @GetMapping(value = "/read-all-data")
  public Map readAllDataFromHazelcast() {
    Map hazelcastMap = hazelcastInstance.getMap("my-map");
    return hazelcastInstance.getMap("my-map");
  }

}

看完上述内容,你们对Hazelcast怎么在Spring Boot中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


本文题目:Hazelcast怎么在SpringBoot中使用
本文来源:http://ybzwz.com/article/psedod.html