相关疑难解决方法(0)

Aerospike:我如何获得记录密钥?

Aerospike客户端具有scanAll方法,用于从其存储中读取所有行.我在下面的代码中使用它:

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());
    }
});
Run Code Online (Sandbox Code Playgroud)

但它已完成NullPointerException,因为userKey为null.所有其他字段均按预期有效.用户密钥是Long值,用于保存数据:

client.put(writePolicy, new Key("namespaceName", "setName", userKey), new Bin("binName", value));
Run Code Online (Sandbox Code Playgroud)

一切都很好,如果我这样做单一请求:

client.get(readPolicy, new Key("namespaceName", "setName", userKey));
Run Code Online (Sandbox Code Playgroud)

可能有什么不对?为什么userKey为空?

java nosql aerospike

11
推荐指数
1
解决办法
3111
查看次数

标签 统计

aerospike ×1

java ×1

nosql ×1