当前位置: 首页 > 知识库问答 >
问题:

在Aerospike中读取多个记录时获取空记录

督瑞
2023-03-14

我在Aerospike数据库中有一个名称空间:test and set:user。我通过控制台上的以下命令在users中添加了四条记录:

ascli put test users barberakey '{"username":"Barbera","password":"barbera","gender":"f","region":"west","company":"Audi"}'

通过aql命令,我可以查看这四条记录。aql

我知道一个接一个地获取记录的方法,它在我这边运行得很好,但这对于我的任务来说是非常昂贵的操作。我想读取多个记录(批读取)并对其执行多个算法。我从https://www.aerospike.com/docs/client/java/usage/kvs/batch.html并编写如下代码:

键[]键=新键[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]);

                }

但是,问题是它读取密钥,但将数组记录设为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

请指导我拿这个箱子。

......

共有1个答案

范书
2023-03-14

显示您使用“barberakey”键编写了记录。然后通过整数键“i 1”读取记录。因此,找不到记录。

 类似资料:
  • 问题内容: Aerospike客户端具有scanAll方法,可从其存储中读取所有行。我在以下代码中使用它: 但这已完成,因为userKey为null。所有其他字段均有效。用户密钥是Long值,用于保存数据: 一切都很好,如果我这样发出单个请求: 有什么问题吗?为什么userKey为null? 问题答案: Aerospike使用密钥和设置名称来生成唯一的摘要,因此它仅存储摘要。 如果插入一条记录(如

  • 我希望我的Spring批处理应用程序一次从数据库中读取50条记录,然后将这50条记录发送给处理器,然后发送给写入器。 有人可以告诉我如何做到这一点吗? 我尝试使用JdbcPagingItemReader并将pageSize设置为50,这样可以读取50条记录,但是rowMapper、处理器和编写器一次接收一条记录,而不是获得50条记录。 如何使处理器和写入器在dto中获得50条记录,而不是一次接收一

  • 问题内容: 我想获得表中每个记录的最小日期,该记录具有一个主键的多个日期条目。看看我的桌子: 我想要这样的结果: 我想获取每个CaseNo的最短日期记录在我的桌子上。 我尝试了这段代码: 结果是这样的: 该代码删除没有最小日期的行。我想显示所有记录的最小日期为Min_date。 问题答案: 试试这个

  • 问题内容: 我有一个Main应用程序和多个工作程序节点,它们在领事中注册。我想通过负载平衡将数据发送到工作节点。使用congo的golang API,我可以在主应用程序上获得可用的服务。 但是,我无法在golang应用程序中获取DNS SRV记录。 如该线程中所述,如何在go应用程序中读取领事SRV记录?,我尝试了github.com/miekg/dns,但没有成功。另外,我尝试使用github.

  • 问题内容: 我想知道是否存在一种将多记录JSON文件(每行是一个JSON dict)读入熊猫数据帧的内存有效方式。下面是带有工作解决方案的2行示例,我可能需要非常多的记录。示例用途是处理Hadoop Pig JSonStorage函数的输出。 问题答案: 注意:(自0.19.0开始)现在支持行分隔的json : 或使用文件/文件路径而不是json字符串: 这将取决于您DataFrames的大小,该

  • 问题内容: 假设有两个表: 表A 表B 表之间的联系是 messageID 字段。 我想要一个查询来生成这样的结果,在该查询中,我将所有字段从表A中拉出,并对表B中每条消息的注释数进行计数,如下所示: 我已经尝试过这样的事情: 但这是行不通的。有任何想法吗?似乎应该可以在一个查询中执行此操作。我正在使用MSSQL。谢谢你的帮助。 问题答案: 标量子查询将起作用: 与往常一样,有很多方法可以改变这只