使用Hazelcast

1.在pom.xml中配置对Hazelcast的依赖

<dependencies><dependency><groupId>com.hazelcast</groupId><artifactId>hazelcast</artifactId><version>3.5.2</version></dependency>
</dependencies>

2.创建hazelcast server端和client端并运行

  • 用hazelcast分布式Map和分布式queue创建一个简单的hazelcast java 程序
  • 运行我们的程序两次创建集群中的两个Member(JVMS)
  • 用hazelcast native java client API连接我们创建的hazelcast集群并访问分布式数据。

hazelcast server端程序代码

import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
import java.util.Queue;
public class GettingStarted {public static void main( String[] args ) {HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();Map<Integer, String> customers = hazelcastInstance.getMap( "customers" );customers.put( 1, "Joe" );customers.put( 2, "Ali" );customers.put( 3, "Avi" );System.out.println( "Customer with key 1: " + customers.get(1) );System.out.println( "Map Size:" + customers.size() );Queue<String> queueCustomers = hazelcastInstance.getQueue( "customers" );queueCustomers.offer( "Tom" );queueCustomers.offer( "Mary" );queueCustomers.offer( "Jane" );System.out.println( "First customer: " + queueCustomers.poll() );System.out.println( "Second customer: "+ queueCustomers.peek() );System.out.println( "Queue size: " + queueCustomers.size() );}
}

运行两次可以得到输出:

Members [2] {Member [127.0.0.1:5701]Member [127.0.0.1:5702] this
}

在pom.xml里面添加对hazelcast client的依赖:

<dependencies><dependency><groupId>com.hazelcast</groupId><artifactId>hazelcast-client</artifactId><version>3.5.2</version></dependency>
</dependencies>

创建客户端程序:

package com.hazelcast.test;
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.client.HazelcastClient;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.IMap;
public class GettingStartedClient {public static void main( String[] args ) {ClientConfig clientConfig = new ClientConfig();HazelcastInstance client = HazelcastClient.newHazelcastClient( clientConfig );IMap map = client.getMap( "customers" );System.out.println( "Map Size:" + map.size() );}
}

运行客户端程序:

运行客户端后,客户端会连到先前创建的hazelcast集群,且输出map size为3.

在我们的这个示例中,没有配置任何Hazelcast配置文件。实际上,hazelcast会用默认的配置文件

下面是hazelcast找寻配置文件的规则:

1.当一个hazelcast 节点启动的时候,它会先找寻hazelcast.config 系统属性。如果这个属性有被设置的话,那么hazelcast将会按照该属性的设置去找寻配置文件。

- Dhazelcast.config=<path to the hazelcast.xml>

2.如果找不到属性,那么hazelcast会在当前工作目录中找寻hazelcast.xml

3.如果在工作目录中找不到,会在class path寻找hazelcast.xml

4.如果还是找不到,hazelcast会加载默认的配置文件。hazlelcast.jar包中的hazelcast-default.xml

========广告时间========

公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以购买。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

欢迎关注:

如何使用分布是缓存Hazelcast相关推荐

  1. 分布式缓存Hazelcast详解及原理探究

    一. Hazelcast 1. Hazelcast简介 Hazelcast 是由Hazelcast公司开发的一款开源的分布式内存级别的缓存数据库,可以为基于JVM环境运行的各种应用提供分布式集群和分布 ...

  2. hazelcast java_JVM内存级分布式缓存Hazelcast

    Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序. 1. 它是用Java编写的. 2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可 ...

  3. spring boot 2.1.4 hibernate二级缓存 Hazelcast实现(一)

    Hazelcast优势网上都可以查到,默认的分布式缓存,使用Hazelcast替换ehcache优势比较明显,也方便项目从单机到发展分布式,而不用再引入其他组件也达到了性能要求,按照springboo ...

  4. hazelcast 使用_使用HazelCast进行Hibernate缓存:JPA缓存基础知识

    hazelcast 使用 HazelCast的最大功能之一就是对Hibernate第二级缓存的支持 . JPA具有两个级别的缓存. 一级缓存在事务期间缓存对象的状态. 通过两次查询相同的对象,您必须获 ...

  5. 使用HazelCast进行休眠缓存:JPA缓存基础知识

    HazelCast的最大功能之一就是对hibernate二级缓存的支持 . JPA具有两个级别的缓存. 一级缓存在事务期间缓存对象的状态. 通过查询相同的对象两次,您必须获得第一次获取的对象. 但是, ...

  6. Hazelcast 介绍与使用(整理)

    要用到 Hazelcast 这个东西用作分布式缓存, 网上搜索了下发现这篇文章对我理解 Hazelcast 那种无主从之分, 避免了单点故障很有帮助, Hazelcast 的数据分布方式很有点像磁盘阵 ...

  7. Hazelcast IMDG参考中文版手册-第七章-分布式数据结构

    如概述部分所述,Hazelcast提供Java接口的分布式实现.以下是这些实现的列表,其中包含指向本手册中相应部分的链接. 标准实用程序集合 Map是分布式实现的java.util.Map.它可以让你 ...

  8. 大型web系统数据缓存设计-l转载

    原文地址:http://www.wmyouxi.com/a/60368.html#ixzz3tGYG9JwC 1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计 ...

  9. 面向站长和网站管理员的Web缓存加速指南

    2019独角兽企业重金招聘Python工程师标准>>> 原文(英文)地址: http://www.mnot.net/cache_docs/  版权声明:署名-非商业性使用-禁止演绎 ...

最新文章

  1. Spring踩坑记录
  2. php 函数导航,PHP经典分页导航函数
  3. 「Githug」Git 游戏通关流程
  4. VS2010数据库项目不能正常工作解决方案(转)
  5. 大数据聚类分析用于预测_多模态数据中的非负矩阵分解用于分割和标签预测
  6. 漫画 |《程序员十二时辰》,内容过于真实 ...
  7. FusionCharts参数说明——3D饼图属性(Pie3D.swf )
  8. [转载] python四种列表的插入方法及其效率
  9. 韩开发新技术 用纸代替硅制造电路芯片
  10. r9270公版bios_华硕R9270显卡开机不显示故障维修
  11. python中文版下载-python3.8.1汉化版
  12. 【Git版本控制管理】Git入门介绍及Git的安装
  13. Eclipse PHPEclipse 配置
  14. 乐高wedo2.0电脑软件安装及蓝牙连接方法
  15. 现场总线->无线网络的技术->泛在网络
  16. 好消息!!!XMind出视频教程了
  17. 首批!工信部下达2021年国家工业专项节能监察任务,涉及270 个数据中心(附名单)...
  18. android手机采集,Android手机直播之采集技术分析
  19. IT 基础设施趋势合集 | 多云、超融合、SDS、容器之趋势解读与政策分析
  20. Kindling the Darkness: A Practical Low-light Image Enhancer

热门文章

  1. python多边形的绘制教程_绘制最新:python绘制封闭多边形教程_爱安网 LoveAn.com
  2. 没时间解释了快上车!0.04折老司机建站节福利来了
  3. 气体压力测试与泄露量测试
  4. 【java】个人项目:中小学数学卷子自动生成程序
  5. 聚类算法K-Means K-Medoids GMM Spectral clustering,Ncut
  6. 世界最牛实验室,堪称诺贝尔奖孵化器!到底是个怎样神奇的存在?!
  7. 质量管理、质量保证、质量控制的区别
  8. pes2017服务器维护,PES2017常见问题一览
  9. 软件开发V模型--解读
  10. 液晶面板价格继续下跌,中国面板企业能否盈利面临考验