是否有Java代码或SQL示例列出Apache Ignite中存在的所有缓存?
还有一个java代码或SQL示例来列出Apache Ignite中一个缓存中的列吗?
答案 0 :(得分:1)
org.apache.ignite.Ignite#cacheNames
列出了所有可用的缓存。
您可以通过QueryEntries
或CacheConfiguration#setQueryEntities
获取有关为缓存设置的CacheConfiguration#setIndexedTypes
列的信息。
只需致电Collection<QueryEntity> queryEntities = cache.getConfiguration(CacheConfiguration.class).getQueryEntities();
,然后致电您感兴趣的QueryEntity#getFields
上的QueryEntity
。
同样,您可以在使用SqlFieldsQuery
时获取有关提取的查询字段的信息。
FieldsQueryCursor<List<?>> cursor = cache.query(new SqlFieldsQuery(query));
for (int i = 0; i < cursor.getColumnsCount(); ++i) {
String fieldName = cursor.getFieldName(i);
// ...
}