У меня есть имен: теста и набор: пользователь в базе данных Aerospike. Я добавляю четыре записи в пользователях через следующую команду на консоли:Получение пустых записей при чтении нескольких записей в Aerospike
ascli put test users barberakey '{"username":"Barbera","password":"barbera","gender":"f","region":"west","company":"Audi"}'
Через акль команды, я могу просмотреть эти четыре записи. aql> выберите * из test.users.
Я знаю метод получения записей один за другим, и он отлично работает на моей стороне, но это очень дорогостоящая операция для моей задачи. Я хочу прочитать несколько записей (пакетное чтение) и выполнить на них несколько алгоритмов. Я взял руководство от https://www.aerospike.com/docs/client/java/usage/kvs/batch.html и написал следующий код:
Ключ [] keys = new Key [4];
for (int i = 0; i < 4; i++) {
keys[i] = new Key("test", "users", (i + 1));
System.out.println("Keys: "+keys[i]);
}
Record[] records = client.get(batchPolicy, keys);
System.out.println("Length of Records : "+records.length);
for(int a=0;a<records.length;a++){
System.out.println("RECORDS IN ARRAY: "+records[a]);
}
Но проблема в том, что он читает ключи, но дает записи Array null.
Output:
Reading records from Aerospike DB
Keys: test:users:1:3921e84015258aed3b93d7ef5770cd27b9bb4167
Keys: test:users:2:1effb3ce25b23f92c5371dee0ac8e6b34f5703c6
Keys: test:users:3:d17519d72e22beab2c3fa1552910ea3380c262bd
Keys: test:users:4:3f09a505c913db8ad1118e20b78c5bb8495fb0f9
Length of Records : 4
RECORDS IN ARRAY: null
RECORDS IN ARRAY: null
RECORDS IN ARRAY: null
RECORDS IN ARRAY: null
Прошу вас, руководствоваться случаем.
......
Были ли какие-либо миграции при запуске? Не могли бы вы предоставить вывод 'asadm -e info'? – kporter
Во время миграции пакетный запрос может не возвращать все значения; текущая пакетная реализация не запрашивает прокси в пакете. Предстоящая версия 3.6.x будет включать новую пакетную операцию, которая выполняется с более высоким приоритетом и будет прокси-сервером, если записи могут существовать на другом узле. – kporter
Есть ли у вас идеи, как я могу достичь своей цели? На самом деле я получаю записи, а затем сохраняю их в arrayList, а затем применяю к ним операции. Я хочу избежать записи в arrayList и делать операции непосредственно с записями. –