我正在访问gridgain缓存以获取大量密钥。我有两个选择来获取值:
gridgain
缓存并为IgniteClosure
中的每个键获取值并返回结果。org.apache.ignite.cache.query.SqlQuery
,然后获取结果。以下是我的问题:
您是否考虑过进行getAll(Set<K> keys)
操作?听起来很适合您的用例。
如果您有更多数据,请考虑与本地ScanQuery并置处理,或映射/减少ExecuteTask / ExecuteJob。
如果事先知道主键,则使用键值API,例如cache.get
或cache.getAll
。如果这些记录还将用作计算的一部分,则尝试将计算转换为计算任务,并在存储键的主副本的节点上执行该任务-您可以为此使用compute.affinityRun
方法。
如果事先不知道主键,或者需要使用WHERE
子句过滤数据或在表之间进行联接,则SQL是有利的。