Java 如何获取aerospike给定集合的所有箱子名称

Java 如何获取aerospike给定集合的所有箱子名称,java,scala,aerospike,Java,Scala,Aerospike,我正试图检索一些aerospike装置的所有箱子名称 我可以在命令行中执行 asinfo -v 'bins/<my_set_name>' asinfo-v'bins/' 我正在寻找一个Java/Scala代码,可以做同样的事情 我使用的aerospike客户端版本是“3.1.6”您必须扫描集合并为集合构建一个容器名称列表 另外,您提供的info命令不能与集合名称一起使用,它需要名称空间名称。请参见命令参考中的 要在客户端中执行bins命令,应该有一个infoAPI,该API将接受

我正试图检索一些aerospike装置的所有箱子名称 我可以在命令行中执行

asinfo -v 'bins/<my_set_name>'
asinfo-v'bins/'
我正在寻找一个Java/Scala代码,可以做同样的事情
我使用的aerospike客户端版本是“3.1.6”

您必须扫描集合并为集合构建一个容器名称列表

另外,您提供的info命令不能与集合名称一起使用,它需要名称空间名称。请参见命令参考中的

要在客户端中执行bins命令,应该有一个infoAPI,该API将接受与命令行实用程序相同的输入

正确的方法:

 val policy = new ClientPolicy()
 val client = new AerospikeClient(policy, initialHost, port)
 val node = client.getNodes
 val conn=node(0).getConnection(1000) 
 val info= new Info(conn,"bins/users")   
 val buff:Array[Byte]=info.getBuffer
 val buffStr=new String(buff)

buffStr在AERSOSPECK中的users名称空间中包含bins列表作为字符串

此解决方案适用于名称空间,但不适用于op请求的集合+1但是对于名称空间示例,您能否在回答中澄清这一点?还应该注意,命名空间的bin列表是单调增长的,只有通过服务器重新启动才能重置。。。因此,此命令还将返回可能不再使用的箱子。尽管代价昂贵,但命名空间或集合扫描是检索正在使用的bin名称的最准确方法。