当前位置: 首页 > 知识库问答 >
问题:

指定MapStore时,Hazelcast查询如何工作?

郑功
2023-03-14

我有包含活动会话的hazelcast映射。我完全实现了MapStore,它从MongoDB加载和存储文档。现在,我需要执行分布式查询来处理映射中的所有条目,但当Hazelcast从集合中逐出条目时,持久化条目不会被检查。

以这种方式处理所有条目的正确方法是什么?

我是否需要为Hazelcast和MongoDB中的持久化条目编写两个版本的查询?

可能有可配置的收集行为以使Hazelcast将存储中的所有条目同步到地图中?

共有1个答案

通和裕
2023-03-14

Hazelcast查询不会从MapLoader获取任何内容。如果您知道被逐出的条目(虽然我不确定这会有什么真正的用途,因为这与首先使用内存缓存的原因相矛盾),那么您可以在运行查询之前对这些键执行getAll。这将把那些“丢失”的条目加载回缓存。

 类似资料:
  • 在重写的存储实现中,我希望以以下方式调用我的DAO来持久化数据。 下面列出了一些问题:-1)在put调用中,我希望使用“key”作为“EmployeeID”,但这是在数据库中为该记录插入之后才生成的。那么,当我没有ID时,我如何将其放入缓存呢?我希望Hazelcast使用作为store方法调用的一部分生成的“ID”(或任何其他方式)作为对象的密钥。 imap.put(key,new Employe

  • 我正在尝试使用本机查询方法获取数据。我能够使用JPA存储库声明的spring数据方法(findAll()等)和JPQL查询来获取数据。 当我使用本机查询方法时,“select*from”正在工作。但当我指定“select username from”时,方法不起作用。表示指定列名时,它不起作用 我像这样添加我的代码, 但是使用select*from users的查询没有问题。这是本机查询性质吗?或

  • 有没有办法使用使用自定义TTL加载地图条目? 用例:“我的映射”条目都有一个自定义的过期期限,此时该条目不再有效(TTL不仅用于限制内存映射的大小,而且TTL应用于每个条目,而不是映射配置)。我在最初将条目放入映射时设置了此TTL,过期时间将保留在我的基础持久映射数据存储中,但从数据库加载条目时无法重置此TTL。 地图加载器文档似乎表明这可能不可能: 加载的条目将被放置到分布式映射中,它们将保留在

  • 根据规范,当使用写入模式时,Hazelcast执行以下操作: 通过将write-delay-seconds属性设置为0,可以将MapStore配置为直写。这意味着条目将同步放入数据存储区。

  • 我正在使用Hazelcast进行集群数据分发。我阅读了有关使用MapStore和MapLoader接口的数据持久性的文档。我需要实现这些接口,并在hazelcast中编写类名。xml文件。 有没有使用hazelcast实现这些文件持久性接口的示例?有人知道我可以下载和使用的任何源代码或jar文件吗? 谢谢