真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hazelcast怎么在SpringBoot中使用-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關Hazelcast怎么在Spring Boot中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于貢覺網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供貢覺營銷型網(wǎng)站建設,貢覺網(wǎng)站制作、貢覺網(wǎng)頁設計、貢覺網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務,打造貢覺網(wǎng)絡公司原創(chuàng)品牌,更為您提供貢覺網(wǎng)站排名全網(wǎng)營銷落地服務。

什么是Hazelcast?

Hazelcast是一個內(nèi)存分布式計算平臺,用于管理數(shù)據(jù)并并行執(zhí)行執(zhí)行應用程序。

1. 它是用Java編寫的。
2. 與其他一些內(nèi)存數(shù)據(jù)庫(如redis)不同,Hazelcast是多線程的,這意味著可從所有可用的CPU內(nèi)核中受益。
3. 與其他內(nèi)存數(shù)據(jù)網(wǎng)格不同 - 它設計用于分布式環(huán)境。它支持每個群集無限數(shù)量的map和緩存。

根據(jù)基準測試,Hazelcast在獲取數(shù)據(jù)方面比Redis快56%,在設置數(shù)據(jù)方面比Redis快44%。

Hazelcast是一個高度可擴展的數(shù)據(jù)分發(fā)和集群平臺。特性包括:

  1. 提供java.util.{Queue, Set, List, Map}分布式實現(xiàn)。

  2. 提供java.util.concurrency.locks.Lock分布式實現(xiàn)。

  3. 提供java.util.concurrent.ExecutorService分布式實現(xiàn)。

  4. 提供用于一對多關系的分布式MultiMap。

  5. 提供用于發(fā)布/訂閱的分布式Topic(主題)。

  6. 通過JCA與J2EE容器集成和事務支持。

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

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

  9. 為Hibernate提供二級緩存Provider 。

  10. 通過JMX監(jiān)控和管理集群。

  11. 支持動態(tài)HTTP Session集群。

  12. 利用備份實現(xiàn)動態(tài)分割。

  13. 支持動態(tài)故障恢復。

現(xiàn)在需要將它添加到Spring Boot項目中并開始使用它的優(yōu)勢。

 
   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. 通過創(chuàng)建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; 
  } 
}

實例已配置 - 現(xiàn)在我們可以訪問Hazelcast并使用數(shù)據(jù)進行操作。

對于這個例子,將創(chuàng)建只有3個映射的HazelcastController:

  • 一個是設置數(shù)據(jù);

  • 一種是按ke鍵查詢數(shù)據(jù);

  • 一個是從Hazelcast獲取所有數(shù)據(jù);

@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");
  }

}

看完上述內(nèi)容,你們對Hazelcast怎么在Spring Boot中使用有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


本文標題:Hazelcast怎么在SpringBoot中使用-創(chuàng)新互聯(lián)
URL標題:http://weahome.cn/article/dchsgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部