关键 hazelcast 上的正则表达式
regex on key hazelcast
我在 Hazelcast 中使用地图数据结构存储数据。这将像下面这样存储:
key1 valueforKey1
key2 valueforkey2
key11 valueforKey11
key22 valueforKey22
key123 valueforKey123
key33 valueforKey33
现在我想根据来自hazelcast的键获取数据,例如我想要所有键以key1*
开头的记录。
如何在 hazelcast 中执行此操作?
注意:我正在存储一些字符串的值。
只需使用 Hazelcast 标准 API http://docs.hazelcast.org/docs/3.4/manual/html-single/hazelcast-documentation.html#criteria-api
使用 like 或 regex指令。
编辑:
这是一个完整的例子:
public class Test {
public static void main(String[] args) {
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IMap<String, String> map = hazelcastInstance.getMap("map-name");
map.put("key1", "value-1");
map.put("key21", "value-21");
map.put("key11", "value-key11");
SqlPredicate predicate = new SqlPredicate("__key REGEX '^key1.*$'");
System.out.println(map.values(predicate));
}
}
我在 Hazelcast 中使用地图数据结构存储数据。这将像下面这样存储:
key1 valueforKey1
key2 valueforkey2
key11 valueforKey11
key22 valueforKey22
key123 valueforKey123
key33 valueforKey33
现在我想根据来自hazelcast的键获取数据,例如我想要所有键以key1*
开头的记录。
如何在 hazelcast 中执行此操作?
注意:我正在存储一些字符串的值。
只需使用 Hazelcast 标准 API http://docs.hazelcast.org/docs/3.4/manual/html-single/hazelcast-documentation.html#criteria-api
使用 like 或 regex指令。
编辑:
这是一个完整的例子:
public class Test {
public static void main(String[] args) {
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IMap<String, String> map = hazelcastInstance.getMap("map-name");
map.put("key1", "value-1");
map.put("key21", "value-21");
map.put("key11", "value-key11");
SqlPredicate predicate = new SqlPredicate("__key REGEX '^key1.*$'");
System.out.println(map.values(predicate));
}
}