问题标签 [hazelcast-imap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
343 浏览

java - 如何在 Hazelcast 中定义地图

我需要使用 Hazelcast 缓存数据库中用于 Java 项目的一些值。逻辑是检查缓存是否为空,然后调用dao方法填充;否则,从缓存中返回对象。

我对 Hazelcast 完全陌生,对在 xml 文件中配置地图感到困惑:它可以包含在 hazelcast 元素中,在这种情况下可以定义 TTL 和其他有用的属性,也可以在 hazelcast 元素之外定义它,使用对它的引用,在不能使用属性的情况下。

我不明白为什么同一个 XML 元素会出现这种语法差异。我正在处理的项目将使用在另一个项目中创建的 hazelcast 实例 bean,如果我在它之外定义地图,我将无法配置任何东西。

0 投票
1 回答
162 浏览

configuration-files - Hazelcast IMap 的 TTL 优先级

根据 Hazelcast 文档,IMap 的 TTL 可以在 xml 地图元素中定义,或者当元素插入地图时,TTL 可以作为数字参数传递,后跟适当的 TimeUnit。

假设地图在 xml 中具有 TTL = 1 天,并且插入其中的元素具有 TTL = 1 小时,那么实际将使用哪个 TTL?

0 投票
1 回答
659 浏览

caching - 当集群中的某些节点重新启动时,Hazelcast Map 中的数据丢失

我们一直在使用 Hazelcast 2.6.8 并升级到 3.5。升级的原因是缓存数据出现间歇性问题。但是升级并没有解决问题。 

我们试图在 Hazelcast IMap 中缓存 100 个 java 普通对象,我们从外部数据库缓存这些对象。缓存对象通过 Hazelcast 的 ConcurrentMap 在集群中共享。我们有一个由 6 个节点组成的集群,每当我们停止并启动这 6 个节点中的 2 个时,我们会发现一些 java 对象丢失了,它的发生率随着丢失的数量而变化,尽管丢失的数量通常约为 90 个对象在地图上而不是 100。

最初备份计数属性已设置为 3,但由于失败,我们将其增加到 6。

使用的 IMap 方法是用于检索数据的 loadAll 方法。这是我们正在使用的配置,StoreClass 实现了 Hazelcast MapStore:

0 投票
1 回答
659 浏览

scala - Hazelcast get 总是返回 null, containsKey 总是返回 false

开始看 Hazelcast ( 3.4.4)。最少的配置。测试:

为什么 null,为什么false,为什么只map.getAsync(19).get()有效?

不过,这:

将打印所有条目。

更新:

在配置中:

0 投票
1 回答
148 浏览

java - 使用 SqlPredicate 聚合时出现 Hazelcast 错误

我正在尝试使用 SqlPredicate 谓词在 Hazelcast 中的地图上执行搜索和聚合。当像下面这样搜索时,SqlPredicate 工作得很好:

但是,如果我尝试进行以下聚合,我会得到一个 ClassCastException:

我还尝试创建自己的自定义谓词,它是 SqlPredicate 的包装器:

这会导致 NullPointerException 并且永远不会到达 apply() 方法。

这是 Hazelcast 中的错误吗?或者是否有不能使用 SqlPredicate 来创建供应商的原因?SqlPredicate 实现了 Predicate 接口,所以我认为它应该可以工作。

我目前在搜索时使用 SqlPredicate,所以我希望能够在聚合时使用相同的谓词进行过滤。

0 投票
1 回答
392 浏览

scala - Hazelcast 低性能放置 10 000 个项目 6 秒

有一个例子,我正在测试简单情况下的 hazelcast 性能。

我有 4 核机器,每台 1.2 GHz。

我正在通过 100 个“客户”发送 100 束(实际上只是一个线程中的 lopp)。

所以最后我有一万束票。

表演大概是:

  • 如果我使用6 秒putAsync
  • 10 seconds,如果我使用:set

我认为这是低性能。

问题: 是吗?我该如何改进它?

所有代码都在那里 - configs。斯卡拉,sbt 项目

更新:

运行时间=测试时间:

  • 10 000 - 较新的机器需要 1-2 秒。对于旧机器:10 秒
  • 旧机器需要40 000 - 18 秒,新机器需要 4 秒
  • 旧机器250 000 - 100 秒,新机器 20-24 秒。

所以“多长时间”=测试时间。

其中:较新的机器是:8 核 2.2 Ghz 较旧的机器:4 核,1,2 Hgz

性能差异很大,具体取决于机器。

0 投票
1 回答
2595 浏览

java - Hazelcast 服务器心跳延迟,无法与客户端连接

我正在使用 Hazelcast-3.5.1 进行一些测试,它在 1GB 堆上运行良好但是当堆大小增加到 4GB 时,它可以完美运行,直到内存使用量达到 80% 左右,心跳响应延迟迅速增长。(根据日志,例如 - 自上次心跳以来,系统时钟显然从“”跳到“”)

一段时间后,客户端/mancenter 也无法连接服务器 jvm 崩溃。

平台 - Ubuntu 14.04 ( 8GB ) Hazelcast - 3.5.1 Java - 1.7.0_79

服务器日志:

0 投票
1 回答
90 浏览

java - Hazelcast,如何通过内部重用 hazelcast 来实现自定义的 MapService?

内置的map只是内存,虽然有MapStore、writThrough、readThrough等,但这些都不能满足需求。我知道我可以从头开始编写 MapService,但是要做的工作太多了。Hazelcast 的内部 MapService 是灵活的。

那么是否有任何指南可以通过重用 hazelcast 的内部实现来实现自定义地图服务?或者只是指出一种方法来做到这一点。

PS:我用的是hz 3.5.1

0 投票
1 回答
570 浏览

hazelcast - Hazelcast 地图线程上的更新操作是否安全?

我在我的一个项目中使用 Hazelcast 分布式地图。从多个节点更新密钥时,我是否需要显式使用 Hazelcast 锁,或者是否会由 Hazelcast 隐式处理,因为 Hazelcast 文档说 IMap 是线程安全的。

0 投票
2 回答
1415 浏览

hazelcast - 将 ttl 设置为 Imap

我有一个IMapin hazelcast (key, value),当时没有ttl设置imap.put()。现在触发事件后,我想ttlIMap. 因为,在这个事件发生时,我不想打电话给value = imap.get(key)then imap.put(key, value, 10, TimeUnit.SECONDS)。那么如何将 ttl 设置为该特定键?