如何使用分布是缓存Hazelcast
使用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相关推荐
- 分布式缓存Hazelcast详解及原理探究
一. Hazelcast 1. Hazelcast简介 Hazelcast 是由Hazelcast公司开发的一款开源的分布式内存级别的缓存数据库,可以为基于JVM环境运行的各种应用提供分布式集群和分布 ...
- hazelcast java_JVM内存级分布式缓存Hazelcast
Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序. 1. 它是用Java编写的. 2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可 ...
- spring boot 2.1.4 hibernate二级缓存 Hazelcast实现(一)
Hazelcast优势网上都可以查到,默认的分布式缓存,使用Hazelcast替换ehcache优势比较明显,也方便项目从单机到发展分布式,而不用再引入其他组件也达到了性能要求,按照springboo ...
- hazelcast 使用_使用HazelCast进行Hibernate缓存:JPA缓存基础知识
hazelcast 使用 HazelCast的最大功能之一就是对Hibernate第二级缓存的支持 . JPA具有两个级别的缓存. 一级缓存在事务期间缓存对象的状态. 通过两次查询相同的对象,您必须获 ...
- 使用HazelCast进行休眠缓存:JPA缓存基础知识
HazelCast的最大功能之一就是对hibernate二级缓存的支持 . JPA具有两个级别的缓存. 一级缓存在事务期间缓存对象的状态. 通过查询相同的对象两次,您必须获得第一次获取的对象. 但是, ...
- Hazelcast 介绍与使用(整理)
要用到 Hazelcast 这个东西用作分布式缓存, 网上搜索了下发现这篇文章对我理解 Hazelcast 那种无主从之分, 避免了单点故障很有帮助, Hazelcast 的数据分布方式很有点像磁盘阵 ...
- Hazelcast IMDG参考中文版手册-第七章-分布式数据结构
如概述部分所述,Hazelcast提供Java接口的分布式实现.以下是这些实现的列表,其中包含指向本手册中相应部分的链接. 标准实用程序集合 Map是分布式实现的java.util.Map.它可以让你 ...
- 大型web系统数据缓存设计-l转载
原文地址:http://www.wmyouxi.com/a/60368.html#ixzz3tGYG9JwC 1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计 ...
- 面向站长和网站管理员的Web缓存加速指南
2019独角兽企业重金招聘Python工程师标准>>> 原文(英文)地址: http://www.mnot.net/cache_docs/ 版权声明:署名-非商业性使用-禁止演绎 ...
最新文章
- Spring踩坑记录
- php 函数导航,PHP经典分页导航函数
- 「Githug」Git 游戏通关流程
- VS2010数据库项目不能正常工作解决方案(转)
- 大数据聚类分析用于预测_多模态数据中的非负矩阵分解用于分割和标签预测
- 漫画 |《程序员十二时辰》,内容过于真实 ...
- FusionCharts参数说明——3D饼图属性(Pie3D.swf )
- [转载] python四种列表的插入方法及其效率
- 韩开发新技术 用纸代替硅制造电路芯片
- r9270公版bios_华硕R9270显卡开机不显示故障维修
- python中文版下载-python3.8.1汉化版
- 【Git版本控制管理】Git入门介绍及Git的安装
- Eclipse PHPEclipse 配置
- 乐高wedo2.0电脑软件安装及蓝牙连接方法
- 现场总线->无线网络的技术->泛在网络
- 好消息!!!XMind出视频教程了
- 首批!工信部下达2021年国家工业专项节能监察任务,涉及270 个数据中心(附名单)...
- android手机采集,Android手机直播之采集技术分析
- IT 基础设施趋势合集 | 多云、超融合、SDS、容器之趋势解读与政策分析
- Kindling the Darkness: A Practical Low-light Image Enhancer
热门文章
- python多边形的绘制教程_绘制最新:python绘制封闭多边形教程_爱安网 LoveAn.com
- 没时间解释了快上车!0.04折老司机建站节福利来了
- 气体压力测试与泄露量测试
- 【java】个人项目:中小学数学卷子自动生成程序
- 聚类算法K-Means K-Medoids GMM Spectral clustering,Ncut
- 世界最牛实验室,堪称诺贝尔奖孵化器!到底是个怎样神奇的存在?!
- 质量管理、质量保证、质量控制的区别
- pes2017服务器维护,PES2017常见问题一览
- 软件开发V模型--解读
- 液晶面板价格继续下跌,中国面板企业能否盈利面临考验