2016-12-13 5 views
0

У меня есть прецедент, когда я буду запрашивать кеширование с помощью rest apis, используя SQL-запросы. Мне нужно сортировать, присоединяться и т. Д.Readthrough не работает с воспламенением SQL-запросов из rest apis и, поскольку может быть передано только одно имя cacheName, то как выполнить запрос присоединения кросс-кэша f?

У меня есть настройка JdbcCacheStore, и если я загружаю данные с помощью cache.loadCache (null), все работает. Я могу запросить использование apis для отдыха.

http://host:port/ignite?cmd=qryfldexe&pageSize=10&cacheName=Person&qry=select+firstName%2C+lastName+from+Person

Я не хочу, чтобы загрузить кэш при запуске воспламеняться. Я хочу, чтобы он был заполнен (чтение), если кеш отсутствует. Если я использую, получайте удовольствие от api readthrough works.

http://host:port/ignite?cmd=get&key=getKey&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

Но я буду запрос с использованием "Sql полей запроса выполнить"

http://apacheignite.gridgain.org/docs/rest-api#sql-fields-query-execute

Когда я попытался запрашивая его использование http://host:port/ignite?cmd=qryfldexe&pageSize=10&cacheName=Person&qry=select+firstName%2C+lastName+from+Person, readthrough не работает. Кэш не заполнялся.

Кроме того, поскольку остальные api позволяют передавать только одно имя cacheName, как запускать запросы присоединения?

ответ

0

Прочитано для запросов не поддерживается, потому что для прочтения вам нужно заранее знать набор ключей для загрузки, что невозможно в SQL. Для SQL вам необходимо заранее загрузить все необходимые данные в память.

+0

Если чтение не поддерживает SQL-запросы, какой запрос может использовать сквозную функцию? – Ivan

+0

Чтение из произвольного хранилища поддерживается для любой операции на основе ключа (например, 'get()'). Также обратите внимание, что в будущих версиях Ignite появится встроенное постоянное хранилище, которое позволит выполнять запросы против данных, хранящихся на диске. Но это еще не выпущено. –