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

HashMap映射上的Hazelcast谓词/SqlPredicate

公孙栋
2023-03-14

我有一个Hazelcast地图的HashMap作为我下面所示的值。

HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
IMap<String, HashMap<String, String>> imap = client.getMap("users");

HashMap<String, String> value = new HashMap<>();
value.put("name", "name-1");
value.put("email", "naame-1@gmail.com");

imap.set("1", value);

我想使用谓词/SQLPredicate执行查询。我该怎么做?

请帮帮我。

共有2个答案

卫深
2023-03-14

值没有默认的内置HashMap序列化程序,因此,您需要编写一个包装对象来实现Hazelcast序列化之一。

施同
2023-03-14

除非有充分的理由,否则不需要将贴图对象存储为值。查看您的代码,您应该创建一个简单的POJO并将其存储为值。有关谓词,请查看此处的文档:

https://docs.hazelcast.org/docs/3.11.2/manual/html-single/index.html#distributed-查询

 类似资料:
  • 如何将侦听器设置为一个映射,该映射的键有一个复杂的对象,并且我只想侦听具有特定键参数值的条目发生的更改。 例如,我有一个类似于此的代码: 但当一个包含“EN”语言的键的条目被更新时,我的回调函数不会被调用。所以我假设我的谓词是错误的。

  • 我正在尝试构建一个方法,删除具有非空属性的条目,但我一直在谓词中失败,我不知道如何正确实现谓词,因为hazelcast没有将“Not NULL”或“IS NULL”作为where子句任何想法如何在映射中找到我需要搜索以删除它们的值? 方法 主类响应SerializablePlus

  • 谁能告诉我如何用Hazelcast谓词“in”子句吗。我想使用以下内容, 我想将值作为值的ArrayList传递。但是它抛出错误,因为它期望实现可比的对象。对此有任何解决方法吗?

  • 在hazelcast IMap中查找谓词结果大小的最佳方法是什么? MapProxyImpl中不支持直接大小。java和size()将根据返回的集合进行计算,在这种情况下,这是不需要的。 你有什么建议吗? 谢谢

  • 我正在使用一个应用程序,我们SQL服务器作为数据库。需要在SQL服务器上添加HazelCast缓存层。 这是一个遗留系统,其工作方式类似于SQL服务,其中针对SQLServer DB执行的SQL查询存储在配置表中。 例如,有一个通过查询返回数据的UI: 这是动态获取、检索并针对数据库执行的。有许多这样的视图是通过动态查询呈现的。在HazelCast中,这些SQL语法中的一些不仅适用。 是否有任何数

  • TestValue类是简单的pojo 这只是本地env,所有的东西都在我的机器上运行,单个Hazelcast实例。我的代码与官方文档中的示例相匹配。 Hazelcast版本:4.2.1