Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用索引的Hazelcast分布式查询_Hazelcast_Hazelcast Imap - Fatal编程技术网

使用索引的Hazelcast分布式查询

使用索引的Hazelcast分布式查询,hazelcast,hazelcast-imap,Hazelcast,Hazelcast Imap,我正在尝试使用谓词查询Hazelcast映射。我的谓词代码在没有索引的情况下可以正常工作,但为了获得更好的性能,我想将索引放在键上 映射结构:IMap-Event是一个POJO类 <map name="event.map"> <in-memory-format>NATIVE</in-memory-format> <backup-count>2</backup-count> <async-backup-count>

我正在尝试使用谓词查询Hazelcast映射。我的谓词代码在没有索引的情况下可以正常工作,但为了获得更好的性能,我想将索引放在
键上

映射结构:
IMap
-
Event
是一个POJO类

<map name="event.map">
  <in-memory-format>NATIVE</in-memory-format>
  <backup-count>2</backup-count>
  <async-backup-count>0</async-backup-count>
  <time-to-live-seconds>30</time-to-live-seconds>
  <max-idle-seconds>0</max-idle-seconds>
  <eviction-policy>LFU</eviction-policy>
  <max-size policy="FREE_NATIVE_MEMORY_PERCENTAGE">25</max-size>
  <cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
  <indexes>
    <index ordered="true">eventType</index>
</indexes>
</map>
根据例外情况,我了解到Hazelcast正试图在
IMap
Value
字段上应用索引

是否有一种方法可以将索引放在
IMap
键上

试试看

        <indexes>
            <index ordered="true">__key.eventType</index>
        </indexes>

__key.eventType
作为
键值
存储,通常会搜索这些值,因此这就是索引所期望的。当您将
eventType
放入索引时,它会在中查找该字段 价值。您需要将其更改为
\u key.eventType
,以使其在键中显示

如果在索引实现时需要频繁搜索复合主键的一部分,则可能需要检查主键结构的选择


此外,如果可以,请从3.11.2升级到3.12.1。幕后有一些改进。

感谢您的回复。我尝试了这种方法,Hazelcast开始使用索引。但我注意到,由于在hazelcast IMap中频繁插入和删除,总体性能下降。简要介绍一下我的用例:我需要在IMap中每秒插入近10K条记录。使用LRU策略,ttl收回设置为30秒。最终放弃了使用索引的想法。这更多的是一个设计问题,可能不适合这个论坛,因为它是关于问题的。或者至少是一个单独的问题。
        <indexes>
            <index ordered="true">__key.eventType</index>
        </indexes>