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());
    }
});

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

client.put(writePolicy, new Key("namespaceName", "setName", userKey), new Bin("binName", value));

一切都很好,如果我这样发出单个请求:

client.get(readPolicy, new Key("namespaceName", "setName", userKey));

有什么问题吗?为什么userKey为null?

Jyoti Ranjan Adhikary

Aerospike使用密钥和设置名称来生成唯一的摘要,因此它仅存储摘要。

如果设置了插入一条记录,writePolicy.sendKey = true则密钥将存储为记录的元数据。如果插入一条记录,writePolicy.sendKey = true则只有您将获得scanCallback()中的密钥。

默认情况下,writePolicy.sendKey为false,因此默认情况下,scanCallback()null作为键。这就是为什么您key.userKey.toLong()NullPointerException

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Aerospike中获取所有记录?

来自分类Dev

获取活动记录的密钥

来自分类Dev

如何获取与Aerospike中的正则表达式匹配的所有记录?

来自分类Dev

如何获取与Aerospike中的正则表达式匹配的所有记录?

来自分类Dev

如何获取NSDictionary的密钥

来自分类Dev

如何从HashMap获取对象的密钥?

来自分类Dev

如何获取Twitter Fabric密钥

来自分类Dev

如何使用`jq`获取密钥

来自分类Dev

如何获取CyberArk的API密钥?

来自分类Dev

Django:如何获取模型的密钥

来自分类Dev

如何从以下json获取密钥

来自分类Dev

如何获取Twitter Fabric密钥

来自分类Dev

如何从SQL获取记录

来自分类Dev

如何从SQL获取记录

来自分类Dev

如何获取数组记录?

来自分类Dev

如何获取记录的类别

来自分类Dev

在实时数据库中插入记录并获取密钥

来自分类Dev

是否可以在Aerospike中使用主键和辅助键来获取记录?

来自分类Dev

如何使用jq获取根密钥和密钥类型

来自分类Dev

可以获取sshd(openssh)来记录基于失败密钥的登录尝试的公共密钥吗?

来自分类Dev

如何获取当月创建的记录?

来自分类Dev

如何获取最后插入的记录

来自分类Dev

如何获取插入记录的ID?

来自分类Dev

如何获取记录所在的索引

来自分类Dev

如何使用NOT语法获取记录?

来自分类Dev

如何从定位获取记录数据?

来自分类Dev

如何获取删除记录的用户?

来自分类Dev

遍历集合的成员,如何获取成员的密钥?

来自分类Dev

如何获取CSV文件的密钥列表?