今天就跟大家聊聊有关Hazelcast怎么在Spring Boot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
什么是Hazelcast?
Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序。
1. 它是用Java编写的。
2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可从所有可用的CPU内核中受益。
3. 与其他内存数据网格不同 - 它设计用于分布式环境。它支持每个群集无限数量的map和缓存。
根据基准测试,Hazelcast在获取数据方面比Redis快56%,在设置数据方面比Redis快44%。
Hazelcast是一个高度可扩展的数据分发和集群平台。特性包括:
提供java.util.{Queue, Set, List, Map}分布式实现。
提供java.util.concurrency.locks.Lock分布式实现。
提供java.util.concurrent.ExecutorService分布式实现。
提供用于一对多关系的分布式MultiMap。
提供用于发布/订阅的分布式Topic(主题)。
通过JCA与J2EE容器集成和事务支持。
提供用于安全集群的Socket层加密。
支持同步和异步持久化。
为Hibernate提供二级缓存Provider 。
通过JMX监控和管理集群。
支持动态HTTP Session集群。
利用备份实现动态分割。
支持动态故障恢复。
现在需要将它添加到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中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。