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

在Hazelcast中按值查询(类似SQL的操作)

岳嘉良
2023-03-14

我想将下面的结构存储在Hazelcast缓存中。(结构仍未定稿)

value1/唯一键{

    "isin":"isin123",
    "id_bb_global":"BBg12345676",
    "cusip":"cusip123",
    "sedol":"sedol123",
    "cpn":"0.09",
    "cntry":"US",
    "144A":"xyz",
    "issue_cntry":"UK"
}

    Value2/unique key/
    {

    "isin":"isin222",
    "id_bb_global":"BBG222",
    "cusip":"cusip222",
    "sedol":"sedol222",
    "cpn":"1.0",
    "cntry":"IN",
    "144A":"Y",
    "issue_cntry":"DE"
    }

例如,搜索查询数据->{“isin”:“isin222”和“issue_cntry”:“uk”},应该从value2返回所有数据集。{“sedol”:“sedol123”或“id_bb_global”:“bbg12345676”}应从值1返回所有数据集

问题:

  1. 在Hazelcast中存储这种数据结构的最佳方法是什么?
  2. 如何做类似SQL的操作,它的性能如何?predicate-https://docs.hazelcast.org/docs/3.3-rc1/javadoc/com/hazelcast/query/class-use/Predicate.html是一个好的选择吗?问题是,当我添加一个(多个)新属性时,我的html" target="_blank">对象将发生变化-例如,向现有数据结构添加新属性-{existing+maturity,ISO,etc}

PS:我正计划使用Consuld Discovery在集群模式下使用Hazelcast。

共有1个答案

沈运恒
2023-03-14

您可以将JSON格式的数据存储在Hazelcast映射中,然后直接查询JSON。有关更多详细信息和示例,请参阅此处:https://docs.hazelcast.org/docs/3.12.5/manual/html-single/index.html#querying-json-strings

 类似资料:
  • 问题内容: 我有一个看起来像这样的数组: 我正在查询一些这样的数据: 我尝试了这个: 但是它返回了一个错误消息,它是无效的数据类型,无论如何都说类似这样的内容: 或类似的东西。 请注意,这是一个数组比较,而不是查询对象中的文本。 问题答案: 这是我最终的做法: 使用foreach命令,您可以轻松地处理数据,然后将其推入数组以重新创建数据集合,但是您需要它。

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

  • 问题内容: 我有一张 表 数据喜欢 现在我想按数量对表进行排序,但是一个问题是数量是varchar,所以它像这样对表进行排序 但我想要这样的结果 我该怎么办 ? 问题答案: 选择以下内容时,将金额列转换为“数值输入”子句: 结果: ID 数量 3 10000 2个 4568 1个 2340 看到这个SQLFiddle

  • 与这个问题类似,我想使用我自己的用户定义类型“Account tNumber”执行一个SQL“like”操作。 QueryDSL实体类(定义列的字段)如下所示: 我尝试了以下代码来实现SQL中的“like”操作,但是在运行查询之前比较类型时出现错误: 错误为: 有人曾经使用QueryDSL/JPA组合实现过这一点吗?

  • 假设我在IMap中有以下值: 我想找到属于“销售”类别的所有员工。此外,我想在getCategories()上创建一个索引,以便查询快速返回。似乎没有可用的谓词来执行此操作。我该如何实现这一目标?看来我必须写一个谓词才能做到这一点。有没有示例代码可以告诉我如何构建使用索引的谓词?

  • 使用类似SQL的关键字在Tarantool DB中进行查询的正确方法是什么?例如: