91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hazelcast怎么在Spring Boot中使用

發布時間:2021-03-26 16:22:07 來源:億速云 閱讀:296 作者:Leah 欄目:編程語言

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

什么是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項目中并開始使用它的優勢。

<parent> 
  <groupId> org.springframework.boot </ groupId> 
  <artifactId> spring-boot-starter-parent </ artifactId> 
  <version> 2.0.0.RELEASE </ version> 
</ parent> 
<dependencies> 
  <dependency > 
    <groupId> org.springframework.boot </ groupId> 
    <artifactId> spring-boot-starter-web </ artifactId> 
  </ dependency> 
  <dependency> 
    <groupId> com.hazelcast </ groupId> 
    <artifactId> hazelcast </ artifactId> 
  </ dependency> 
  <dependency> 
    <groupId> com.hazelcast </ groupId> 
    <artifactId> hazelcast-spring </ artifactId> 
  </ dependency> 
</ dependencies>

要將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<String, String> hazelcastMap = hazelcastInstance.getMap("my-map");
    hazelcastMap.put(key, value);
    return "Data is stored.";
  }

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

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

}

看完上述內容,你們對Hazelcast怎么在Spring Boot中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福州市| 长宁县| 隆昌县| 松潘县| 八宿县| 杂多县| 维西| 永宁县| 宝兴县| 紫金县| 宜阳县| 东台市| 邯郸县| 蕉岭县| 平和县| 弥渡县| 昌乐县| 金平| 南涧| 临汾市| 铜山县| 荥经县| 民勤县| 定远县| 信宜市| 茂名市| 金堂县| 绵阳市| 衢州市| 公安县| 封丘县| 固镇县| 邯郸县| 商水县| 枞阳县| 台湾省| 亚东县| 金华市| 建昌县| 丰顺县| 榆社县|