Aerospike 클라이언트는 scanAll 방법을 사용하여 상점에서 모든 행을 읽습니다.Aerospike : 레코드 키를 얻으려면 어떻게해야합니까?
ScanPolicy policy = new ScanPolicy();
policy.concurrentNodes = true;
policy.priority = Priority.DEFAULT;
policy.includeBinData = true;
policy.scanPercent = 100;
client.scanAll(policy, "namespaceName", "setName", new ScanCallback() {
@Override
public void scanCallback(Key key, Record record) throws AerospikeException {
STORE.put(key.userKey.toLong(), record.getValue("binName").toString());
}
});
을하지만 userKey가 null이기 때문에이 NullPointerException
로 마감 : 나는 folowing 코드를 사용합니다. 다른 모든 필드는 예상대로 유효합니다. 사용자 키는이 데이터를 저장하기 위해 사용되었다, 긴 값입니다
client.put(writePolicy, new Key("namespaceName", "setName", userKey), new Bin("binName", value));
이 같은 단일 요청 할 경우 모든 괜찮 :
client.get(readPolicy, new Key("namespaceName", "setName", userKey));
것은 무엇 잘못 될 수 있습니까? userKey가 null 인 이유는 무엇입니까?
시간과 좋은 답변에 감사드립니다. – DmitryKanunnikoff