GridCache.keySet()
, .primarySize()
, 并且.size()
只返回该节点的信息。
除了整个集群,我如何获取这些信息?
扫描整个集群“有效”,但我需要的只是键或计数,而不是值。
问题是如果我想根据索引字段查找 SQL 查询,但我无法根据网格缓存条目键本身查找。
我的有效但远非优雅和高性能的解决方法是:
Set<String> ruleIds = FluentIterable.from(cache.queries().createSqlFieldsQuery("SELECT property FROM YagoRule").execute().get())
.<String>transform((it) -> (String) it.iterator().next()).toSet();
这要求 key 与字段之一相同,并且出于性能原因需要对该字段进行索引。