首页 > 解决方案 > 如何在正则表达式中给出键时从 Ignite Cache 中获取值?

问题描述

我的 Ignite 缓存中有密钥格式,例如

igniteCache.put("CACHE_1.2.3", someValue1)
igniteCache.put("CACHE_1.2.4", someValue2)
igniteCache.put("CACHE_2.2.3", someValue3)

如何获取键匹配正则表达式的值,如“CACHE_1 .. 我期待输出 [someValue1, someValue2]

有人可以帮助解决这个问题吗?

标签: ignite

解决方案


这种效果可以通过使用带有 LIKE 谓词的 SQL 请求来实现。

考虑以下示例:

CREATE TABLE people(name varchar PRIMARY KEY, age int);

INSERT INTO people (name, age) values('Bob', 21);
INSERT INTO people (name, age) values('George', 30);
INSERT INTO people (name, age) values('Georgiy', 31);

SELECT * FROM people WHERE name LIKE 'Georg%'

最终选择产生两行,name列从“Georg”开始。

因此,您需要切换到使用 SQL 来定义数据架构,或者为缓存配置查询实体


推荐阅读