2016-01-17 69 views

回答

2

您將必須掃描該集合併爲該集合構建一個bin列表名稱。

此外,您提供的info命令不能使用集名稱,它需要命名空間名稱。請參閱命令參考中的bins

要在客戶端執行bin命令,應該有一個info API,它將採用與命令行實用程序相同的輸入。

Java client info API

1

正確的方法:

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包含在Aersospike用戶的命名空間字符串

+0

該解決方案適用於一個命名空間,但不是一組的要求運倉名單。對於命名空間示例+1,你能否在你的答案中澄清一下?還應該注意,命名空間的bin列表單調增長,並且只能在服務器重啓時重置...因此,該命令還會返回可能不再使用的bin。儘管價格昂貴,但名稱空間或集合掃描是檢索使用中的bin名稱的最準確方法。 – kporter