Hazelcast入门指南第6部分

这是有关Hazelcast的一系列文章中的第六篇。 如果一个人没有看过过去的五年,请到表中的内容后 ,我创建赶上。

本地客户

在上一篇文章之后,我决定要去本地化。 是的,我将演示Hazelcast自己的Java客户端。 Java不是唯一的本地客户端语言,C ++和C#风格可用于企业版。

为什么要本地化?

这是一个好问题。 本地客户可以将其固定在一条产品线中,而没有机会逃脱。 Hazelcast通过以下方式奖励本地人:

  • 客户端是集群的一部分。 这意味着人们可以创建存储数据的场所,并监听集群中发生的事件。 这也意味着我之前的文章中讨论的所有技巧都可以用作客户端。 此优势不可低估。
  • 配置文件类似。 这意味着不必从Hazelcast配置文件转换为客户端配置文件。 一个人可以复制文件,就像魔术一样起作用。 翻译要做的越少,丢失的内容就越少。

任何客户的经验法则

Hazelcast客户是我有幸设置和使用的最简单的客户端。

这个简单的示例是上一篇文章开始的主题的延续,缓存了昂贵的操作。

Pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.darylmathison</groupId><artifactId>HazelcastJavaClient</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><showDeprecation>true</showDeprecation></configuration></plugin><plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><version>1.3.2</version><executions><execution><goals><goal>java</goal></goals></execution></executions><configuration><mainClass>com.darylmathison.hazelcastjavaclient.Main</mainClass></configuration></plugin></plugins></build><dependencies><dependency><groupId>com.hazelcast</groupId><artifactId>hazelcast-client</artifactId><version>3.3.2</version></dependency></dependencies></project>

客户

该客户端成为集群的一部分,创建一个名为“ fibmap”的IMap。 如果以前没有计算过斐波那契结果,则将其存储在地图中。 如果运行一次客户端,则结果存储在fibmap中。 第二次运行客户端时,将显示缓存的值。

package com.darylmathison.hazelcastjavaclient;import com.hazelcast.client.HazelcastClient;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;/**** @author Daryl*/
public class Main {/*** @param args the command line arguments*/public static void main(String[] args) {HazelcastInstance instance = HazelcastClient.newHazelcastClient();Map<Long, Long> cacheMap = instance.getMap("fibmap");for(long i = 1; i <= 10L; i++) {System.out.println("value is " + fibonacci(i, cacheMap));}instance.shutdown();}private static long fibonacci(long rounds, Map<Long, Long> cacheMap) {Long cached = cacheMap.get(rounds);if(cached != null) {System.out.print("cached ");return cached;}long[] lastTwo = new long[] {1, 1};for(int i = 0; i < rounds; i++) {long last = lastTwo[1];lastTwo[1] = lastTwo[0] + lastTwo[1];lastTwo[0] = last;}cacheMap.put(rounds, lastTwo[1]);return lastTwo[1];}}

结论

在本文中,我讨论了使用Hazelcast的本机Java客户端的原因。 我还展示了一个简单的示例。 该代码可以在这里找到。

参考

当谈到《 Hazelcast入门指南》时。 我一直在浏览www.hazelcast.com和www.hazelcast.org 。

翻译自: https://www.javacodegeeks.com/2015/02/beginners-guide-hazelcast-part-6.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Only digits (0-9) can be put inside [] in the path string: formData.XXX

使用uniapp开发时微信小程序中爆出的问题&#xff0c;问题在于form表单组件中绑定表单值,去除报错值则正常。 解决办法如下&#xff1a; 修改注释行内容&#xff0c; 转载连接

用Maven管理JavaScript资源

Maven用来管理Java类库之间的依赖已经非常普遍了。最近有一直在做JavaScript的开发&#xff0c;就突然想提问自己是不是也可以考虑用Maven的机制来管理JavaScript的依赖。 Google了一下&#xff0c;发现了一篇文件覆盖了我的想法。 http://ajaxian.com/archives/using-maven-to…

嵌套类型的前5个用例

前几天&#xff0c;在reddit上进行了有趣的讨论&#xff0c;即静态内部类。 什么时候太多&#xff1f; 首先&#xff0c;让我们回顾一下Java的基本历史知识。 Java语言提供了四个级别的嵌套类 &#xff0c;通过“ Java语言”&#xff0c;我的意思是这些构造仅是“语法糖”。 它…

外包以小时计算金额的费用_2020年初级会计各大税种的计算公式,请收藏!

一、各种税的计算方式增值税1、一般纳税人应纳税额销项税额—进项税销项税额销售额税率组成计税价格成本(1成本利润率)组成计税价格成本(1成本利润率)(1-消费税税率)2、进口货物应纳税额组成计税价格税率组成计税价格关税完税价格关税(消费税)3、小规模纳税人应纳税额销售额征收…

VSCode设置ESLint语法检查

转载 "eslint.validate": ["javascript","javascriptreact","vue-html",{"language": "vue","autoFix": true}],"eslint.run": "onSave","eslint.autoFixOnSave": true…

次要GC,主要GC与完整GC

在使用Plumbr中的GC暂停检测功能时&#xff0c;我被迫通过大量有关该主题的文章&#xff0c;书籍和演示工作。 在整个旅程中&#xff0c;我多次对次要&#xff0c;主要和完全GC事件的使用&#xff08;误用&#xff09;感到困惑。 这导致了这篇博客文章&#xff0c;我希望我设法…

怎么改字段名称_精装房这么改!换门框,封阳台,效果出来比毛坯房还好

最近有朋友后台留言&#xff0c;称自己原本想一步到位购买精装房&#xff0c;但收房验收时才发现根本不合心意&#xff0c;空间利用率太低配色也老气&#xff0c;已经打算重新改装了。所谓精装房就是开发商将地板、门、厨房、卫生间、少量天花和部分柜子进行安装,业主只要添加些…

微信小程序 - 富文本图片宽度自适应(正则)

原文连接 引言&#xff1a;在微信小程序里&#xff0c;比如商品展示页面的商品详情会有图片展示&#xff0c;PC端设置的商品详情是PC端的宽度&#xff0c;所以在小程序里图片会显示不全&#xff0c;这时就应该做相应的处理&#xff0c;使小程序里图片显示正确 思路 把图片的宽…

ZF2系列 – Zend Framework 2 MVC實作 (Part 3)

我之所以這麼喜歡Zend Framework的關係&#xff0c;其中一項就是它可以幫你很簡單的實現MVC的架構&#xff0c;所以今天的任務就是要建立一個以MVC為架構的基本網頁。 首先當然要先建立一個測試用的資料庫&#xff0c;因此我簡單的建立了一個名為Employee的資料表來進行展示&am…

从Grunt测试Grunt插件

编写针对grunt插件的测试结果比预期的要简单。 我需要运行多个任务配置&#xff0c;并想通过在主目录中键入grunt test来调用它们。 通常&#xff0c;第一个任务失败后会发出咕声。 这使得不可能在主项目gruntfile中存储多个失败方案。 从那里运行它们将需要--force选项&#…

方向盘左右能摇动_学车这么久了,你还不会打方向盘呢?

刚刚学车的朋友肯定有过这样的问题&#xff1a;教练说&#xff1a;往左打两圈&#xff0c;往右打一圈&#xff0c;往左打半圈……你乖乖听话照做&#xff0c;然后教练说&#xff1a;回正吧。是不是一下就蒙住了&#xff1f;&#xff1f;我刚才打几圈来着&#xff1f;&#xff1…

Asp.Net基础 - 9.Web开发原则

目录&#xff1a; 9.1.Web开发的一些基本原则 9.2 原则一 9.2.1 C#代码是运行在服务器端的&#xff0c;JS代码是运行在浏览器客户端的 9.2.2 在服务器端“弹出消息窗口” 9.2.3 案例说明&#xff08;客户端与服务端互不影响&#xff09; 9.3 原则二 9.4 原则三 9.4.1 客户端…

Spring配置文件简介

这么多的人&#xff0c;那么多的思想。 当我们为不同的客户实施软件时&#xff0c;有时我们需要处理同一项目的各种需求。 例如&#xff0c;客户A需要SAML身份验证&#xff0c;客户B需要LDAP身份验证。 借助Spring Profiles&#xff08;可从Spring 3.1获得&#xff09;&#x…

重置手机_【轻松办税】ITS客户端申报密码重置不会操作?看过来,3分钟包你会!...

ITS扣缴客户端实名办税功能已经上线了&#xff0c;并且在2020年1月1日后将不再支持以CA方式进行登录&#xff0c;可是公司申报密码是很久前去大厅办理的&#xff0c;早就忘记了&#xff0c;这可咋好&#xff1f;别急&#xff0c;快来关注“上海税务”&#xff0c;包你3分钟学会…

vuex mapGetters使用

// formStatisticsFoundation.js &#xff0c;命名空间为formStatisticsFoundation getters: {zzStatisticsData(state) {const statisticsData state.statisticsData;const data [{name: 企业数,number: statisticsData.enterpriseNumber},{name: 品种数,number: statistic…

Ubuntu各大分支版本功能介绍及下载地址

Ubuntu目标&#xff1a;&#xff08;摘自官网&#xff09;快速&#xff0c;免费&#xff0c;易用。特色&#xff1a;带有上千种免费的开源应用软件&#xff0c;支持各种电脑文件设备、打印机、数码相机、音乐播放器和智能手机。每年的4月和10月都会发布一个新版本。官方网站&am…

数控弯管机xyz转换ybc的算法_花了一年时间开发的三维弯管机交互式转档软件(三维管子模型UG,SOLIDWORK,PRO/E文件转成YBC)...

在弯管机加工中,由管子模型生成可直接进行弯管加工的YBC数据可以大大提高弯管编程过程.传统的做法是先用dxf数据文件(用autocad绘制管子的轴心线数据)转出XYZ数据,然后由XYZ数据转成YBC数据,而且大部分厂家对文件版本以及软件做管方式都有不少限制,这大大花费了用户的时间跟精力…

使用rx-java的异步抽象

对我而言&#xff0c;使用Rx-java的最大好处之一就是无论底层调用是同步还是异步&#xff0c;因此代码看起来都完全相同&#xff0c;因此该条目的标题也是如此。 考虑一个非常简单的客户端代码用例&#xff0c;它执行三个缓慢运行的调用并将结果合并到一个列表中&#xff1a; …

js Math函数

在控制台直接打印console.dir(Math)看全部方法. 属性 Math.E //2.718281828459045 自然对数的底数 这是高中知识&#xff1f; Math.LN2 // 0.6931471805599453 Math.LN10 // 2.302585092994046 Math.LOG2E // 1.4426950408889634 Math.LOG10E // 0.4342944819032518 Math.P…

jenkins修改pom文件_jenkins使用小技巧:pom.xml文件里的版本随着每次发布变化怎么办?...

针对这个问题&#xff0c;构建方法不变&#xff0c; 变化在动态去获取每次打出来的包名&#xff0c;比如说&#xff0c;本次打出来的报名mypackage-1.0.3-SNAPSHOT.jar那么&#xff0c;先进入target目录#先进入target目录cd /root/.jenkins/workspace/${JOB_NAME}/XXXXXX/targe…