我正在使用空气动力学列表功能(http://www.aerospike.com/docs/guide/cdt-list.html)并可以执行选择查询以查看列表:
从ns.set中选择bin,其中PK =' pk'
但有没有办法可以获得列表中的元素数量? 而且还有一种方法可以看到记录的当前大小(因为最大记录大小有限制)
答案 0 :(得分:3)
AQL是一种主要用于管理索引,UDF,运行ad-hoc UDF(维护,汇总等)以及在较小程度上浏览数据的工具。如果要使用完整的List或Map操作集,则应使用语言客户端,例如Java,Python,Go等。
List API包含列表的size()。例如,在Python客户端中,您有aerospike.Client.list_size
。由于列表在服务器端以msgpack序列化格式存储,因此您很难判断msgpacked list是否大于max-write-block
,假设您的数据在SSD上(如果它在内存中没有持久性,则您没有相同的记录大小限制)。
您可以估算大小,但是要遵循EAFP原则,编写记录会更简单,而不必提前考虑大小,并抓住error code 13'记录过大的异常& #39; (例如,aerospike.exception.RecordTooBig
)。然后,您可以决定如何溢出到单独的记录中(key
,key-2
.. key-N
)。